10Duke Scale C++ SDK
Loading...
Searching...
No Matches
FakeSocket.h
1#ifndef TENDUKE_TEST_FAKES_FAKESOCKET_H
2#define TENDUKE_TEST_FAKES_FAKESOCKET_H
3
4#include "osa/Socket.h"
5
6#include <atomic>
7#include <deque>
8#include <string>
9#include <vector>
10
11namespace tenduke { namespace test { namespace fakes {
12
14{
15public:
16 std::unique_ptr<Socket> accept(uint32_t timeoutMs) override;
17
18 std::unique_ptr<Socket> accept() override;
19
20 void bind(std::uint32_t ipAddress, std::uint16_t port) override;
21
22 void listen() override;
23
24 int read(void *buffer, std::size_t bufferSize) override;
25
26 int write(const void *buffer, std::size_t len) override;
27
28 std::uint16_t getPort() const override;
29
30 void setNonBlocking() override;
31
32
33public:
34 std::uint16_t port;
35
36 std::atomic_bool acceptReady;
37 std::deque<tenduke::osa::Socket *> acceptedSockets;
38 std::vector<std::string> writtenData;
39
40 std::string readData;
41};
42
43}}}
44
45#endif //TENDUKE_TEST_FAKES_FAKESOCKET_H
OS-independent abstraction of a socket.
Definition Socket.h:14
Definition FakeSocket.h:14
std::uint16_t getPort() const override
Returns port of the socket.
Definition FakeSocket.cpp:55
void setNonBlocking() override
Sets the socket to non-blocking mode.
Definition FakeSocket.cpp:60
void bind(std::uint32_t ipAddress, std::uint16_t port) override
Binds the socket.
Definition FakeSocket.cpp:29
int write(const void *buffer, std::size_t len) override
Write bytes to the socket.
Definition FakeSocket.cpp:49
void listen() override
Configures the socket to listen for incoming connections.
Definition FakeSocket.cpp:33
std::unique_ptr< Socket > accept() override
Accepts next connection from listening socket.
Definition FakeSocket.cpp:24
int read(void *buffer, std::size_t bufferSize) override
Reads bytes from the socket.
Definition FakeSocket.cpp:37
Root for classes, functions and globals of 10Duke C++ Client.
Definition AbstractClientFactory.h:16