1 // **********************************************************************
3 // Copyright (c) 2003-2011 ZeroC, Inc. All rights reserved.
5 // This copy of Ice is licensed to you under the terms described in the
6 // ICE_LICENSE file included in this distribution.
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>
23 class ICE_API Transceiver
: virtual public ::IceUtil::Shared
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;
33 virtual bool startWrite(Buffer
&) = 0;
34 virtual void finishWrite(Buffer
&) = 0;
35 virtual void startRead(Buffer
&) = 0;
36 virtual void finishRead(Buffer
&) = 0;
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;