raw_engine.hpp
Go to the documentation of this file.
1 /* SPDX-License-Identifier: MPL-2.0 */
2 
3 #ifndef __ZMQ_RAW_ENGINE_HPP_INCLUDED__
4 #define __ZMQ_RAW_ENGINE_HPP_INCLUDED__
5 
6 #include <stddef.h>
7 
8 #include "fd.hpp"
9 #include "i_engine.hpp"
10 #include "io_object.hpp"
11 #include "i_encoder.hpp"
12 #include "i_decoder.hpp"
13 #include "options.hpp"
14 #include "socket_base.hpp"
15 #include "metadata.hpp"
16 #include "msg.hpp"
17 #include "stream_engine_base.hpp"
18 
19 namespace zmq
20 {
21 // Protocol revisions
22 
23 class io_thread_t;
24 class session_base_t;
25 class mechanism_t;
26 
27 // This engine handles any socket with SOCK_STREAM semantics,
28 // e.g. TCP socket or an UNIX domain socket.
29 
30 class raw_engine_t ZMQ_FINAL : public stream_engine_base_t
31 {
32  public:
33  raw_engine_t (fd_t fd_,
34  const options_t &options_,
35  const endpoint_uri_pair_t &endpoint_uri_pair_);
36  ~raw_engine_t ();
37 
38  protected:
39  void error (error_reason_t reason_);
40  void plug_internal ();
41  bool handshake ();
42 
43  private:
44  int push_raw_msg_to_session (msg_t *msg_);
45 
46  ZMQ_NON_COPYABLE_NOR_MOVABLE (raw_engine_t)
47 };
48 }
49 
50 #endif
stream_engine_base.hpp
error
Definition: cJSON.c:88
zmq
Definition: zmq.hpp:229
ZMQ_NON_COPYABLE_NOR_MOVABLE
#define ZMQ_NON_COPYABLE_NOR_MOVABLE(classname)
Definition: macros.hpp:58
fd.hpp
msg.hpp
metadata.hpp
options.hpp
socket_base.hpp
io_object.hpp
fd_t
zmq_fd_t fd_t
Definition: libzmq/tests/testutil.hpp:98
i_engine.hpp
ZMQ_FINAL
Definition: unittest_ip_resolver.cpp:26
i_decoder.hpp
i_encoder.hpp
options_
DebugStringOptions options_
Definition: src/google/protobuf/descriptor.cc:2410


libaditof
Author(s):
autogenerated on Wed May 21 2025 02:06:58