update Socket interface

This commit is contained in:
MihailRis 2024-11-15 07:09:55 +03:00
parent ee0b745769
commit 4aacd130ab
3 changed files with 6 additions and 6 deletions

View File

@ -102,9 +102,9 @@ static inline int connectsocket(
} }
static inline int recvsocket( static inline int recvsocket(
int descriptor, char* buf, size_t len, int flags int descriptor, char* buf, size_t len
) noexcept { ) noexcept {
return recv(descriptor, buf, len, flags); return recv(descriptor, buf, len, 0);
} }
static inline int sendsocket( static inline int sendsocket(
@ -146,8 +146,8 @@ public:
freeaddrinfo(addr); freeaddrinfo(addr);
} }
int recv(char* buffer, size_t length, bool blocking) override { int recv(char* buffer, size_t length) override {
int len = recvsocket(descriptor, buffer, length, blocking ? MSG_WAITALL : MSG_DONTWAIT); int len = recvsocket(descriptor, buffer, length);
if (len == 0) { if (len == 0) {
int err = errno; int err = errno;
close(); close();

View File

@ -26,7 +26,7 @@ namespace network {
class Socket { class Socket {
public: public:
virtual int recv(char* buffer, size_t length, bool blocking) = 0; virtual int recv(char* buffer, size_t length) = 0;
virtual int send(const char* buffer, size_t length) = 0; virtual int send(const char* buffer, size_t length) = 0;
virtual void close() = 0; virtual void close() = 0;
virtual bool isOpen() const = 0; virtual bool isOpen() const = 0;

View File

@ -24,7 +24,7 @@ TEST(curltest, curltest) {
socket->send(string, strlen(string)); socket->send(string, strlen(string));
char data[1024]; char data[1024];
int len = socket->recv(data, 1024, true); int len = socket->recv(data, 1024);
std::cout << len << " " << std::string(data, len) << std::endl; std::cout << len << " " << std::string(data, len) << std::endl;
} }