Class buffer_transport¶
Defined in File bufferTransport.hpp
Inheritance Relationships¶
Derived Types¶
public comm::tcp_buffer_transport
(Class tcp_buffer_transport)public comm::ucx_buffer_transport
(Class ucx_buffer_transport)
Class Documentation¶
-
class
comm
::
buffer_transport
¶ Base class used to send a chunk of bytes throught a transport protocol e.g. TCP, UCP, etc.
Subclassed by comm::tcp_buffer_transport, comm::ucx_buffer_transport
Public Functions
-
buffer_transport
(ral::cache::MetadataDictionary metadata, std::vector<size_t> buffer_sizes, std::vector<blazingdb::transport::ColumnTransport> column_transports, std::vector<ral::memory::blazing_chunked_column_info> chunked_column_infos, std::vector<node> destinations, bool require_acknowledge)¶ Constructs a buffer_transport.
- Parameters
metadata
: This is information about how the message was routed and payloads that are used in execution, planning, or physical optimizations. E.G. num rows in table, num partitions to be processedbuffer_sizes
: A vector containing the sizes of the buffercolumn_transports
: A vector of ColumnTransport representing column metadatachunked_column_infos
: A vector of blazing_chunked_column_info representing how the raw buffers are chunkeddestinations
: A vector of destination nodesrequire_acknowledge
: A boolean stating if acknowledgement of a message is required
-
virtual
~buffer_transport
()¶
-
virtual void
send_begin_transmission
() = 0¶
-
void
send
(const char *buffer, size_t buffer_size)¶ Sends a chunk of bytes throught a transport protocol.
- Parameters
buffer
: Pointer to the byte buffer that will be sendbuffer_size
: The buffer size
-
void
wait_until_complete
()¶ Waits until all the data is sents.
-
void
wait_for_begin_transmission
()¶
-
virtual void
increment_frame_transmission
()¶
-
virtual void
increment_begin_transmission
()¶
Protected Functions
-
virtual void
send_impl
(const char *buffer, size_t buffer_size) = 0¶
-
virtual void
receive_acknowledge
() = 0¶
Protected Attributes
-
std::vector<blazingdb::transport::ColumnTransport>
column_transports
¶
-
std::vector<ral::memory::blazing_chunked_column_info>
chunked_column_infos
¶
-
ral::cache::MetadataDictionary
metadata
¶
-
std::vector<size_t>
buffer_sizes
¶
-
size_t
buffer_sent
= 0¶
-
std::atomic<size_t>
transmitted_begin_frames
¶ The number of begin_transmission messages sent
-
std::atomic<size_t>
transmitted_frames
¶ The number of frames transmitted
-
std::mutex
mutex
¶
-
std::condition_variable
completion_condition_variable
¶
-
std::map<std::string, bool>
transmitted_acknowledgements
¶
-
bool
require_acknowledge
= false¶
-