Skip to content
Snippets Groups Projects
Commit 77a353db authored by Carsten Patzke's avatar Carsten Patzke
Browse files

Fixed windows build

parent b96cd9ab
No related branches found
No related tags found
No related merge requests found
......@@ -14,6 +14,8 @@ class SystemIO final : public IO {
private:
static const int kNetBufferSize;//TODO: need to set by config
void ApplyNetworkOptions(SocketDescriptor socket_fd, IOErrors * err) const;
//void CollectFileInformationRecursivly(const std::string& path, std::vector<FileInfo>* files, IOErrors* err) const;
int FileOpenModeToPosixFileOpenMode(int open_flags) const;
IOErrors GetLastError() const;
......@@ -58,7 +60,7 @@ class SystemIO final : public IO {
void InetBind(SocketDescriptor socket_fd, const std::string& address, IOErrors* err) const;
std::unique_ptr<std::tuple<std::string, SocketDescriptor>> InetAccept(SocketDescriptor socket_fd, IOErrors* err) const;
void InetConnect(SocketDescriptor socket_fd, const std::string& address, IOErrors* err) const;
SocketDescriptor CreateAndConnectIPTCPSocket(const std::string& address, IOErrors* err) const;
SocketDescriptor CreateAndConnectIPTCPSocket(const std::string& address, IOErrors* err) const;
size_t Receive(SocketDescriptor socket_fd, void* buf, size_t length, IOErrors* err) const;
size_t ReceiveTimeout(SocketDescriptor socket_fd, void* buf, size_t length, long timeout_in_usec,
IOErrors* err) const;
......
......@@ -36,6 +36,19 @@ void StripBasePath(const std::string& folder, std::vector<FileInfo>* file_list)
// PRIVATE FUNCTIONS - END
void hidra2::SystemIO::ApplyNetworkOptions(SocketDescriptor socket_fd, IOErrors* err) const
{
if (
setsockopt(socket_fd, SOL_SOCKET, SO_SNDBUF, (char*)&kNetBufferSize, sizeof(kNetBufferSize)) != 0
||
setsockopt(socket_fd, SOL_SOCKET, SO_SNDBUF, (char*)&kNetBufferSize, sizeof(kNetBufferSize)) != 0
) {
*err = GetLastError();
}
}
std::thread* SystemIO::NewThread(std::function<void()> function) const {
return new std::thread(function);
}
......@@ -71,8 +84,6 @@ hidra2::FileDescriptor hidra2::SystemIO::CreateAndConnectIPTCPSocket(const std::
FileDescriptor fd = CreateSocket(AddressFamilies::INET, SocketTypes::STREAM, SocketProtocols::IP, err);
setsockopt(fd, SOL_SOCKET, SO_SNDBUF, &kNetBufferSize, sizeof(kNetBufferSize));
setsockopt(fd, SOL_SOCKET, SO_SNDBUF, &kNetBufferSize, sizeof(kNetBufferSize));
if(*err != IOErrors::kNoError) {
return -1;
......@@ -235,16 +246,16 @@ SocketDescriptor SystemIO::CreateSocket(AddressFamilies address_family,
return -1;
}
int socket_fd = _socket(domain, type, protocol);
SocketDescriptor socket_fd = _socket(domain, type, protocol);
if(socket_fd == -1) {
*err = GetLastError();
return socket_fd;
}
setsockopt(socket_fd, SOL_SOCKET, SO_SNDBUF, &kNetBufferSize, sizeof(kNetBufferSize));
setsockopt(socket_fd, SOL_SOCKET, SO_RCVBUF, &kNetBufferSize, sizeof(kNetBufferSize));
*err = IOErrors::kNoError;
ApplyNetworkOptions(socket_fd, err);
*err = IOErrors::kNoError;
return socket_fd;
}
......@@ -473,8 +484,7 @@ IOErrors* err) const {
return nullptr;
}
setsockopt(peer_fd, SOL_SOCKET, SO_RCVBUF, &kNetBufferSize, sizeof(kNetBufferSize));
setsockopt(peer_fd, SOL_SOCKET, SO_SNDBUF, &kNetBufferSize, sizeof(kNetBufferSize));
ApplyNetworkOptions(peer_fd, err);
std::string
address = std::string(inet_ntoa(client_address.sin_addr)) + ':' + std::to_string(client_address.sin_port);
......
......@@ -37,7 +37,6 @@ IOErrors IOErrorFromGetLastError() {
}
}
IOErrors SystemIO::GetLastError() const {
return IOErrorFromGetLastError();
}
......
......@@ -20,7 +20,7 @@ static const std::unique_ptr<SystemIO> io(new SystemIO());
static const std::string kListenAddress = "127.0.0.1:4206";
static std::promise<void> kThreadStarted;
static size_t kTestSize = size_t(1024) * size_t(1024) * size_t(1024) * size_t(1); //1GiByte
static size_t kTestSize = size_t(1024) * size_t(1024) * size_t(512); //512MiByte
static int kTestCount = 50;
void Exit(int exit_number) {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment