ACloudViewer  3.9.4
A Modern Library for 3D Data Processing
ConnectionBase.h
Go to the documentation of this file.
1 // ----------------------------------------------------------------------------
2 // - CloudViewer: www.cloudViewer.org -
3 // ----------------------------------------------------------------------------
4 // Copyright (c) 2018-2024 www.cloudViewer.org
5 // SPDX-License-Identifier: MIT
6 // ----------------------------------------------------------------------------
7 
8 #pragma once
9 
10 #include <memory>
11 
12 namespace zmq {
13 class message_t;
14 class socket_t;
15 } // namespace zmq
16 
17 namespace cloudViewer {
18 namespace io {
19 namespace rpc {
20 
23 public:
25  virtual ~ConnectionBase() {}
26 
28  virtual std::shared_ptr<zmq::message_t> Send(zmq::message_t& send_msg) = 0;
29  virtual std::shared_ptr<zmq::message_t> Send(const void* data,
30  size_t size) = 0;
31 };
32 } // namespace rpc
33 } // namespace io
34 } // namespace cloudViewer
int size
Base class for all connections.
virtual std::shared_ptr< zmq::message_t > Send(zmq::message_t &send_msg)=0
Function for sending data wrapped in a zmq message object.
virtual std::shared_ptr< zmq::message_t > Send(const void *data, size_t size)=0
Generic file read and write utility for python interface.