18 #ifndef INCLUDE_RCF_OVERLAPPEDAMI_HPP 19 #define INCLUDE_RCF_OVERLAPPEDAMI_HPP 24 #include <RCF/Asio.hpp> 26 #include <RCF/ThreadLibrary.hpp> 30 class RCF_EXPORT AmiNotification
34 typedef std::function<void()> Cb;
37 void set(Cb cb, LockPtr lockPtr, MutexPtr mutexPtr);
49 typedef std::shared_ptr<OverlappedAmi> OverlappedAmiPtr;
51 class ConnectedClientTransport;
54 public std::enable_shared_from_this<OverlappedAmi>
58 OverlappedAmi(ConnectedClientTransport *pTcpClientTransport);
64 const AsioErrorCode & ec,
65 std::size_t bytesTransferred);
69 const AsioErrorCode & ec);
71 void ensureLifetime(
const ByteBuffer & byteBuffer);
72 void ensureLifetime(
const std::vector<ByteBuffer> & byteBuffers);
76 RecursiveMutex mMutex;
77 ConnectedClientTransport * mpTransport;
85 std::vector<ByteBuffer> mByteBuffers;
90 #endif // ! INCLUDE_RCF_OVERLAPPEDAMI_HPP
Definition: AmiIoHandler.hpp:23