trantor
Non-blocking I/O cross-platform TCP network library, using C++14
Loading...
Searching...
No Matches
callbacks.h
1
14
15#pragma once
16
17#include <functional>
18#include <memory>
19namespace trantor
20{
21enum class SSLError
22{
23 kSSLHandshakeError,
24 kSSLInvalidCertificate,
25 kSSLProtocolError
26};
27using TimerCallback = std::function<void()>;
28
29// the data has been read to (buf, len)
30class TcpConnection;
31class MsgBuffer;
32using TcpConnectionPtr = std::shared_ptr<TcpConnection>;
33// tcp server and connection callback
34using RecvMessageCallback =
35 std::function<void(const TcpConnectionPtr &, MsgBuffer *)>;
36using ConnectionErrorCallback = std::function<void()>;
37using ConnectionCallback = std::function<void(const TcpConnectionPtr &)>;
38using CloseCallback = std::function<void(const TcpConnectionPtr &)>;
39using WriteCompleteCallback = std::function<void(const TcpConnectionPtr &)>;
40using HighWaterMarkCallback =
41 std::function<void(const TcpConnectionPtr &, const size_t)>;
42using SSLErrorCallback = std::function<void(SSLError)>;
43using SockOptCallback = std::function<void(int)>;
44
45} // namespace trantor
This class represents a memory buffer used for sending and receiving data.
Definition MsgBuffer.h:40
This class represents a TCP connection.
Definition TcpConnection.h:41
Definition EventLoop.h:34