diff options
author | Benoit Foucher <benoit@zeroc.com> | 2007-11-27 11:58:35 +0100 |
---|---|---|
committer | Benoit Foucher <benoit@zeroc.com> | 2007-11-27 11:58:35 +0100 |
commit | 47f800495093fd7679a315e2d730fea22f6135b7 (patch) | |
tree | a7b8d3488f3841367dd03d10cae293f36fd10481 /cpp/src/IceSSL/TransceiverI.h | |
parent | Fixed SystemException to no longer derive from LocalException (diff) | |
download | ice-47f800495093fd7679a315e2d730fea22f6135b7.tar.bz2 ice-47f800495093fd7679a315e2d730fea22f6135b7.tar.xz ice-47f800495093fd7679a315e2d730fea22f6135b7.zip |
- Added support for non-blocking AMI/batch requests, connection
creation.
- Added support for AMI oneway requests.
- Changed collocation optimization to not perform any DNS lookups.
Diffstat (limited to 'cpp/src/IceSSL/TransceiverI.h')
-rw-r--r-- | cpp/src/IceSSL/TransceiverI.h | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/cpp/src/IceSSL/TransceiverI.h b/cpp/src/IceSSL/TransceiverI.h index 298fd206538..f3d055ea3bd 100644 --- a/cpp/src/IceSSL/TransceiverI.h +++ b/cpp/src/IceSSL/TransceiverI.h @@ -29,24 +29,31 @@ class AcceptorI; class TransceiverI : public IceInternal::Transceiver { + enum State + { + StateNeedConnect, + StateConnectPending, + StateConnected + }; + public: virtual SOCKET fd(); virtual void close(); virtual void shutdownWrite(); virtual void shutdownReadWrite(); - virtual void write(IceInternal::Buffer&, int); - virtual void read(IceInternal::Buffer&, int); + virtual bool write(IceInternal::Buffer&, int); + virtual bool read(IceInternal::Buffer&, int); virtual std::string type() const; virtual std::string toString() const; - virtual void initialize(int); + virtual IceInternal::SocketStatus initialize(int); virtual void checkSendSize(const IceInternal::Buffer&, size_t); ConnectionInfo getConnectionInfo() const; private: - TransceiverI(const InstancePtr&, SSL*, SOCKET, bool, const std::string& = ""); + TransceiverI(const InstancePtr&, SSL*, SOCKET, bool, bool, const std::string& = ""); virtual ~TransceiverI(); friend class ConnectorI; friend class AcceptorI; @@ -65,7 +72,8 @@ private: const std::string _adapterName; const bool _incoming; - const std::string _desc; + State _state; + std::string _desc; #ifdef _WIN32 int _maxPacketSize; #endif |