1 #ifndef IODRIVERS_BASE_IOSTREAM_HH
2 #define IODRIVERS_BASE_IOSTREAM_HH
4 #include <base/Time.hpp>
7 #include <netinet/in.h>
10 #include <sys/socket.h>
12 namespace iodrivers_base
23 virtual void waitRead(base::Time
const& timeout) = 0;
24 virtual void waitWrite(base::Time
const& timeout) = 0;
25 virtual size_t read(uint8_t* buffer,
size_t buffer_size) = 0;
26 virtual size_t write(uint8_t
const* buffer,
size_t buffer_size) = 0;
27 virtual void clear() = 0;
50 virtual void waitRead(base::Time
const& timeout);
51 virtual void waitWrite(base::Time
const& timeout);
52 virtual size_t read(uint8_t* buffer,
size_t buffer_size);
53 virtual size_t write(uint8_t
const* buffer,
size_t buffer_size);
68 UDPServerStream(
int fd,
bool auto_close,
struct sockaddr *si_other,
size_t *s_len);
69 virtual size_t read(uint8_t* buffer,
size_t buffer_size);
70 virtual size_t write(uint8_t
const* buffer,
size_t buffer_size);
virtual int getFileDescriptor() const
Definition: IOStream.cpp:96
Definition: IOStream.hpp:64
virtual void clear()
Definition: IOStream.cpp:82
unsigned int m_s_len
Definition: IOStream.hpp:74
Definition: IOStream.hpp:38
virtual ~FDStream()
Definition: IOStream.cpp:28
struct sockaddr m_si_other
Definition: IOStream.hpp:72
virtual int getFileDescriptor() const
Definition: IOStream.cpp:16
virtual size_t write(uint8_t const *buffer, size_t buffer_size)
Definition: IOStream.cpp:73
Definition: IOStream.hpp:19
static const int INVALID_FD
Definition: IOStream.hpp:46
virtual size_t read(uint8_t *buffer, size_t buffer_size)
Definition: IOStream.cpp:59
bool m_si_other_dynamic
Definition: IOStream.hpp:73
virtual size_t read(uint8_t *buffer, size_t buffer_size)
Definition: IOStream.cpp:113
virtual size_t write(uint8_t const *buffer, size_t buffer_size)
Definition: IOStream.cpp:134
virtual size_t read(uint8_t *buffer, size_t buffer_size)=0
FDStream(int fd, bool auto_close)
Definition: IOStream.cpp:18
virtual void waitWrite(base::Time const &timeout)
Definition: IOStream.cpp:46
virtual void waitRead(base::Time const &timeout)=0
virtual void waitRead(base::Time const &timeout)
Definition: IOStream.cpp:33
virtual size_t write(uint8_t const *buffer, size_t buffer_size)=0
bool setNonBlockingFlag(int fd)
Definition: IOStream.cpp:85
virtual ~IOStream()
Definition: IOStream.cpp:15
UDPServerStream(int fd, bool auto_close)
Definition: IOStream.cpp:98
virtual void waitWrite(base::Time const &timeout)=0
int m_fd
Definition: IOStream.hpp:43