ICE 3.4.2
[php5-ice-freebsdport.git] / cpp / src / Ice / Transceiver.h
blob58e1a9fd44e31c3448b20ae98d585ba92f6ff70c
1 // **********************************************************************
2 //
3 // Copyright (c) 2003-2011 ZeroC, Inc. All rights reserved.
4 //
5 // This copy of Ice is licensed to you under the terms described in the
6 // ICE_LICENSE file included in this distribution.
7 //
8 // **********************************************************************
10 #ifndef ICE_TRANSCEIVER_H
11 #define ICE_TRANSCEIVER_H
13 #include <IceUtil/Shared.h>
14 #include <Ice/TransceiverF.h>
15 #include <Ice/ConnectionF.h>
16 #include <Ice/Network.h>
18 namespace IceInternal
21 class Buffer;
23 class ICE_API Transceiver : virtual public ::IceUtil::Shared
25 public:
27 virtual NativeInfoPtr getNativeInfo() = 0;
28 virtual SocketOperation initialize() = 0;
29 virtual void close() = 0;
30 virtual bool write(Buffer&) = 0;
31 virtual bool read(Buffer&) = 0;
32 #ifdef ICE_USE_IOCP
33 virtual bool startWrite(Buffer&) = 0;
34 virtual void finishWrite(Buffer&) = 0;
35 virtual void startRead(Buffer&) = 0;
36 virtual void finishRead(Buffer&) = 0;
37 #endif
38 virtual std::string type() const = 0;
39 virtual std::string toString() const = 0;
40 virtual Ice::ConnectionInfoPtr getInfo() const = 0;
41 virtual void checkSendSize(const Buffer&, size_t) = 0;
46 #endif