Go to the documentation of this file.
5 #include <netinet/in.h>
6 #include <sys/socket.h>
57 if (
ip != other.
ip)
return ip < other.
ip;
61 operator std::string()
const {
return toString(); }
63 int IP = inet_addr(addr.
ip.c_str());
65 int sd = socket(AF_INET, SOCK_STREAM, 0);
66 server.sin_family = AF_INET;
67 server.sin_addr.s_addr = IP;
70 if (connect(sd, (
struct sockaddr*)&
server,
sizeof(
server)) < 0) {
71 perror(
"connect failed: ");
82 static ssize_t
loop_write(
int fd,
const void* data,
size_t size) {
87 if ((r = write(fd, data, size)) < 0) {
93 data = (
const char*)data + r;
98 throw std::runtime_error(
99 "Write Could Not Complete, bytes written: " + std::to_string(ret) +
100 " bytes requested " + std::to_string(req));
105 static ssize_t
loop_read(
int fd,
void* data,
size_t size) {
110 if ((r = read(fd, data, size)) < 0) {
116 data = (
char*)data + r;
121 throw std::runtime_error(
122 "Read Could Not Complete, bytes read: " + std::to_string(ret) +
123 " bytes requested " + std::to_string(req));
CacheServer server
Definition: cache_server.cpp:236
static ssize_t loop_read(int fd, void *data, size_t size)
Definition: requests.h:105
Definition: requests.h:138
char container[10]
Definition: requests.h:14
int key
Definition: requests.h:24
int port
Definition: requests.h:50
static int getConnection(Address addr)
Definition: requests.h:62
Definition: requests.h:22
bool operator==(const Address &other)
Definition: requests.h:53
Definition: requests.h:27
std::string ip
Definition: requests.h:49
RequestType
Definition: requests.h:37
Definition: requests.h:18
std::string toString() const
Definition: requests.h:60
int key
Definition: requests.h:33
Definition: requests.h:48
int value
Definition: requests.h:34
static ssize_t loop_write(int fd, const void *data, size_t size)
Definition: requests.h:82
Definition: requests.h:31
bool operator<(const Address &other) const
Definition: requests.h:56
int key
Definition: requests.h:15
Address(const std::string ip="invalid", const int port=-1)
Definition: requests.h:51
char container[10]
Definition: requests.h:19
char container[10]
Definition: requests.h:32
int value
Definition: requests.h:28
int gossipArtifactCount
Definition: requests.h:139
char container[10]
Definition: requests.h:23
Definition: requests.h:13