19 #ifndef INCLUDE_RCF_OVERLAPPEDAMI_HPP 20 #define INCLUDE_RCF_OVERLAPPEDAMI_HPP 25 #include <RCF/Asio.hpp> 27 #include <RCF/ThreadLibrary.hpp> 31 class RCF_EXPORT AmiNotification
35 typedef std::function<void()> Cb;
38 void set(Cb cb, LockPtr lockPtr, MutexPtr mutexPtr);
50 typedef std::shared_ptr<OverlappedAmi> OverlappedAmiPtr;
52 class ConnectedClientTransport;
55 public std::enable_shared_from_this<OverlappedAmi>
59 OverlappedAmi(ConnectedClientTransport *pTcpClientTransport);
65 const AsioErrorCode & ec,
66 std::size_t bytesTransferred);
70 const AsioErrorCode & ec);
72 void ensureLifetime(
const ByteBuffer & byteBuffer);
73 void ensureLifetime(
const std::vector<ByteBuffer> & byteBuffers);
77 RecursiveMutex mMutex;
78 ConnectedClientTransport * mpTransport;
86 std::vector<ByteBuffer> mByteBuffers;
91 #endif // ! INCLUDE_RCF_OVERLAPPEDAMI_HPP
Definition: AmiIoHandler.hpp:24