mirror of
https://github.com/slsdetectorgroup/slsDetectorPackage.git
synced 2025-04-23 06:50:02 +02:00

* WIP * first test * format * test frames * also 0: * WIP * WIP * first test * format * test frames * also 0: * test and less local * pass ret by value * level * WIP * WIP * cleaning up interface * removed ref * another * updated api version * cleanup * cleanup * WIP * fixes * fixed tests
46 lines
1.3 KiB
C++
Executable File
46 lines
1.3 KiB
C++
Executable File
#pragma once
|
|
|
|
#include <cstddef>
|
|
#include <cstdint>
|
|
#include <netdb.h>
|
|
#include <string>
|
|
namespace sls {
|
|
|
|
class DataSocket {
|
|
public:
|
|
DataSocket(int socketId);
|
|
DataSocket(DataSocket &&move) noexcept;
|
|
virtual ~DataSocket();
|
|
DataSocket &operator=(DataSocket &&move) noexcept;
|
|
void swap(DataSocket &other) noexcept;
|
|
DataSocket(const DataSocket &) = delete;
|
|
DataSocket &operator=(DataSocket const &) = delete;
|
|
int getSocketId() const { return socketId_; }
|
|
int sendData(const void *buffer, size_t size);
|
|
|
|
template <typename T> int sendData(T &&data) {
|
|
return sendData(&data, sizeof(data));
|
|
}
|
|
|
|
int receiveData(void *buffer, size_t size);
|
|
int read(void *buffer, size_t size);
|
|
int write(void *buffer, size_t size);
|
|
int setTimeOut(int t_seconds);
|
|
int setReceiveTimeout(int us);
|
|
void close();
|
|
void shutDownSocket();
|
|
|
|
private:
|
|
int socketId_ = -1;
|
|
};
|
|
|
|
int ConvertHostnameToInternetAddress(const char *const hostname,
|
|
struct ::addrinfo **res);
|
|
int ConvertInternetAddresstoIpString(struct ::addrinfo *res, char *ip,
|
|
const int ipsize);
|
|
|
|
struct ::sockaddr_in
|
|
ConvertHostnameToInternetAddress(const std::string &hostname);
|
|
|
|
}; // namespace sls
|