YAMI4 C++ Library 2.0.0
Messaging Solution for Distributed Systems
Loading...
Searching...
No Matches
raw_buffer_data_source.h
1// Copyright Maciej Sobczak 2008-2022.
2// This file is part of YAMI4.
3// See the package-level LICENSE.txt file.
4
5#ifndef YAMICPP_RAW_BUFFER_DATA_SOURCE_H_INCLUDED
6#define YAMICPP_RAW_BUFFER_DATA_SOURCE_H_INCLUDED
7
8#include "serializable.h"
9#include <yami4-core/dll.h>
10#include <yami4-core/raw_buffer_data_source.h>
11#include <vector>
12
13namespace yami
14{
15
24{
25public:
26
42 raw_buffer_data_source(const char * * buffers,
43 const std::size_t * buffer_sizes,
44 std::size_t num_of_buffers);
45
51 raw_buffer_data_source(const char * buffer, std::size_t buffer_size);
52
58 raw_buffer_data_source(const std::vector<char> & buffer);
59
64 virtual std::size_t serialize_buffer_size() const;
65
80 virtual void serialize(char * * buffers, std::size_t * buffer_sizes,
81 std::size_t num_of_buffers) const;
82
84 virtual const core::serializable & get_core_object() const;
85
86private:
87
89 void operator=(const raw_buffer_data_source &);
90
91 const core::raw_buffer_data_source buffer_wrapper_;
92};
93
94} // namespace yami
95
96#endif // YAMICPP_RAW_BUFFER_DATA_SOURCE_H_INCLUDED
Serializable wrapper for the raw binary data.
Definition: raw_buffer_data_source.h:24
virtual void serialize(char **buffers, std::size_t *buffer_sizes, std::size_t num_of_buffers) const
Serializes current content into given buffer(s).
raw_buffer_data_source(const std::vector< char > &buffer)
Constructor.
virtual const core::serializable & get_core_object() const
Provides access to the underlying core object.
raw_buffer_data_source(const char **buffers, const std::size_t *buffer_sizes, std::size_t num_of_buffers)
Constructor.
virtual std::size_t serialize_buffer_size() const
Returns the total size of serialization buffer.
raw_buffer_data_source(const char *buffer, std::size_t buffer_size)
Constructor.
Common interface for serializable data source.
Definition: serializable.h:21
Namespace devoted to everything related to YAMI4.
Definition: agent.h:21