// ********************************************************************** // // Copyright (c) 2003-2004 ZeroC, Inc. All rights reserved. // // This copy of Ice is licensed to you under the terms described in the // ICE_LICENSE file included in this distribution. // // ********************************************************************** #ifndef ICE_TCP_TRANSCEIVER_H #define ICE_TCP_TRANSCEIVER_H #include #include #include #include #include namespace IceInternal { class TcpConnector; class TcpAcceptor; class TcpTransceiver : public Transceiver { public: virtual SOCKET fd(); virtual void close(); virtual void shutdownWrite(); virtual void shutdownReadWrite(); virtual void write(Buffer&, int); virtual void read(Buffer&, int); virtual std::string type() const; virtual std::string toString() const; private: TcpTransceiver(const InstancePtr&, SOCKET); virtual ~TcpTransceiver(); friend class TcpConnector; friend class TcpAcceptor; const TraceLevelsPtr _traceLevels; const Ice::LoggerPtr _logger; const Ice::StatsPtr _stats; SOCKET _fd; fd_set _rFdSet; fd_set _wFdSet; const std::string _desc; }; } #endif