42#include <cutils/sockets.h>
43#include <gtest/gtest_prod.h>
57 static std::unique_ptr<Socket>
NewClient(
Protocol protocol,
const std::string& hostname,
58 int port, std::string*
error);
71 virtual bool Send(
const void*
data,
size_t length) = 0;
80 virtual bool Send(std::vector<cutils_socket_buffer_t> buffers) = 0;
85 virtual ssize_t
Receive(
void*
data,
size_t length,
int timeout_ms) = 0;
88 virtual ssize_t
ReceiveAll(
void*
data,
size_t length,
int timeout_ms);
99 virtual std::unique_ptr<Socket>
Accept() {
return nullptr; }
106 explicit Socket(cutils_socket_t sock);
113 cutils_socket_t
sock_ = INVALID_SOCKET;
118 std::function<ssize_t(cutils_socket_t, cutils_socket_buffer_t*,
size_t)>
std::function< ssize_t(cutils_socket_t, cutils_socket_buffer_t *, size_t)> socket_send_buffers_function_
Definition: socket.h:119
virtual ssize_t ReceiveAll(void *data, size_t length, int timeout_ms)
Definition: socket.cpp:55
bool ReceiveTimedOut()
Definition: socket.h:92
virtual bool Send(const void *data, size_t length)=0
bool receive_timed_out_
Definition: socket.h:114
FRIEND_TEST(SocketTest, TestTcpSendBuffers)
static std::string GetErrorMessage()
Definition: socket.cpp:289
cutils_socket_t sock_
Definition: socket.h:113
virtual std::unique_ptr< Socket > Accept()
Definition: socket.h:99
int GetLocalPort()
Definition: socket.cpp:75
Socket(cutils_socket_t sock)
Definition: socket.cpp:38
virtual bool Send(std::vector< cutils_socket_buffer_t > buffers)=0
FRIEND_TEST(SocketTest, TestUdpSendBuffers)
static std::unique_ptr< Socket > NewServer(Protocol protocol, int port)
Definition: socket.cpp:273
DISALLOW_COPY_AND_ASSIGN(Socket)
virtual ssize_t Receive(void *data, size_t length, int timeout_ms)=0
Protocol
Definition: socket.h:48
bool WaitForRecv(int timeout_ms)
Definition: socket.cpp:83
virtual ~Socket()
Definition: socket.cpp:40
static std::unique_ptr< Socket > NewClient(Protocol protocol, const std::string &hostname, int port, std::string *error)
Definition: socket.cpp:252
virtual int Close()
Definition: socket.cpp:44
#define error(format, args...)
Definition: fec_private.h:201
char data[Size]
Definition: incremental_server.cpp:1