fdConnection.h
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef WIN32
00019 #ifndef EQNET_FDCONNECTION_H
00020 #define EQNET_FDCONNECTION_H
00021
00022 #include <eq/net/connection.h>
00023
00024 namespace eq
00025 {
00026 namespace net
00027 {
00028
00032 class EQ_EXPORT FDConnection : public Connection
00033 {
00034 public:
00035 #ifndef WIN32
00036 virtual Notifier getNotifier() const { return _readFD; }
00037 #endif
00038
00039 bool hasData() const;
00040
00041 protected:
00042 FDConnection();
00043
00044 virtual void readNB( void* buffer, const uint64_t bytes );
00045 virtual int64_t readSync( void* buffer, const uint64_t bytes );
00046 virtual int64_t write( const void* buffer, const uint64_t bytes );
00047
00048 int _readFD;
00049 int _writeFD;
00050
00051 friend inline std::ostream& operator << ( std::ostream& os,
00052 const FDConnection* connection );
00053 };
00054
00055 inline std::ostream& operator << ( std::ostream& os,
00056 const FDConnection* connection )
00057 {
00058 os << (Connection*)connection << " readFD " << connection->_readFD
00059 << " writeFD " << connection->_writeFD;
00060 return os;
00061 }
00062 }
00063 }
00064
00065 #endif //EQNET_FDCONNECTION_H
00066 #endif // WIN32