19 #ifndef INCLUDE_RCF_BSDCLIENTTRANSPORT_HPP
20 #define INCLUDE_RCF_BSDCLIENTTRANSPORT_HPP
22 #include <RCF/Export.hpp>
23 #include <RCF/ConnectedClientTransport.hpp>
25 #include <boost/scoped_ptr.hpp>
29 class RCF_EXPORT BsdClientTransport :
30 public ConnectedClientTransport
35 BsdClientTransport(
const BsdClientTransport & rhs);
36 BsdClientTransport(TcpSocketPtr socketPtr);
38 #ifdef RCF_HAS_LOCAL_SOCKETS
39 BsdClientTransport(UnixLocalSocketPtr socketPtr);
42 ~BsdClientTransport();
44 TcpSocketPtr releaseTcpSocket();
45 UnixLocalSocketPtr releaseLocalSocket();
47 int getNativeHandle()
const;
52 const ByteBuffer &byteBuffer,
53 std::size_t bytesRequested);
55 std::size_t implReadAsync(
56 const ByteBuffer &byteBuffer,
57 std::size_t bytesRequested);
59 std::size_t implWrite(
60 const std::vector<ByteBuffer> &byteBuffers);
62 std::size_t implWriteAsync(
63 const std::vector<ByteBuffer> &byteBuffers);
70 TcpSocketPtr mTcpSocketPtr;
71 UnixLocalSocketPtr mLocalSocketPtr;
73 AsioIoService * mpIoService;
80 #endif // ! INCLUDE_RCF_TCPCLIENTTRANSPORT_HPP