|
Database System 0.1.0
Advanced C++20 Database System with Multi-Backend Support
|
Serialization/deserialization utilities for protocol messages. More...
#include <database_protocol.h>

Static Public Member Functions | |
| static std::vector< uint8_t > | serialize_header (const message_header &header) |
| Serialize message header to bytes. | |
| static kcenon::common::Result< message_header > | deserialize_header (const std::vector< uint8_t > &data) |
| Deserialize message header from bytes. | |
| static std::vector< uint8_t > | serialize (const connect_request &request) |
| Serialize connect request. | |
| static kcenon::common::Result< connect_request > | deserialize_connect_request (const std::vector< uint8_t > &data) |
| Deserialize connect request. | |
| static std::vector< uint8_t > | serialize (const connect_response &response) |
| Serialize connect response. | |
| static kcenon::common::Result< connect_response > | deserialize_connect_response (const std::vector< uint8_t > &data) |
| Deserialize connect response. | |
| static std::vector< uint8_t > | serialize (const query_request &request) |
| Serialize query request. | |
| static kcenon::common::Result< query_request > | deserialize_query_request (const std::vector< uint8_t > &data) |
| Deserialize query request. | |
| static std::vector< uint8_t > | serialize (const query_response &response) |
| Serialize query response. | |
| static kcenon::common::Result< query_response > | deserialize_query_response (const std::vector< uint8_t > &data) |
| Deserialize query response. | |
| static std::vector< uint8_t > | serialize (const transaction_request &request) |
| Serialize transaction request. | |
| static kcenon::common::Result< transaction_request > | deserialize_transaction_request (const std::vector< uint8_t > &data) |
| Deserialize transaction request. | |
| static std::vector< uint8_t > | serialize (const error_response &response) |
| Serialize error response. | |
| static kcenon::common::Result< error_response > | deserialize_error_response (const std::vector< uint8_t > &data) |
| Deserialize error response. | |
| static std::vector< uint8_t > | serialize (const transaction_response &response) |
| Serialize transaction response. | |
| static kcenon::common::Result< transaction_response > | deserialize_transaction_response (const std::vector< uint8_t > &data) |
| Deserialize transaction response. | |
Static Private Member Functions | |
| static void | write_uint8 (std::vector< uint8_t > &buffer, uint8_t value) |
| static void | write_uint16 (std::vector< uint8_t > &buffer, uint16_t value) |
| static void | write_uint32 (std::vector< uint8_t > &buffer, uint32_t value) |
| static void | write_uint64 (std::vector< uint8_t > &buffer, uint64_t value) |
| static void | write_string (std::vector< uint8_t > &buffer, const std::string &value) |
| static uint8_t | read_uint8 (const std::vector< uint8_t > &buffer, size_t &offset) |
| static uint16_t | read_uint16 (const std::vector< uint8_t > &buffer, size_t &offset) |
| static uint32_t | read_uint32 (const std::vector< uint8_t > &buffer, size_t &offset) |
| static uint64_t | read_uint64 (const std::vector< uint8_t > &buffer, size_t &offset) |
| static std::string | read_string (const std::vector< uint8_t > &buffer, size_t &offset) |
Serialization/deserialization utilities for protocol messages.
Provides binary serialization for network transmission. Uses little-endian byte order.
Definition at line 181 of file database_protocol.h.
|
static |
Deserialize connect request.
| data | Serialized bytes |
Definition at line 61 of file database_protocol.cpp.
References database::protocol::connect_request::connection_string, database::protocol::connect_request::database_type, database::invalid_argument, database::protocol::connect_request::options, read_string(), and read_uint32().
Referenced by TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), and TEST_F().


|
static |
Deserialize connect response.
| data | Serialized bytes |
Definition at line 213 of file database_protocol.cpp.
References database::protocol::connect_response::error_message, database::invalid_argument, read_string(), read_uint8(), database::protocol::connect_response::session_id, and database::protocol::connect_response::success.
Referenced by TEST_F(), TEST_F(), and TEST_F().


|
static |
Deserialize error response.
| data | Serialized bytes |
Definition at line 249 of file database_protocol.cpp.
References database::protocol::error_response::error_code, database::protocol::error_response::error_context, database::protocol::error_response::error_message, database::invalid_argument, read_string(), and read_uint32().
Referenced by TEST_F(), TEST_F(), and TEST_F().


|
static |
Deserialize message header from bytes.
| data | Serialized bytes |
Definition at line 24 of file database_protocol.cpp.
References database::invalid_argument, database::protocol::message_header::is_valid(), database::protocol::message_header::magic, database::protocol::message_header::payload_size, read_uint16(), read_uint32(), read_uint64(), database::protocol::message_header::request_id, database::protocol::message_header::type, and database::protocol::message_header::version.
Referenced by TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), and TEST_F().


|
static |
Deserialize query request.
| data | Serialized bytes |
Definition at line 101 of file database_protocol.cpp.
References database::invalid_argument, database::protocol::query_request::operation, database::protocol::query_request::parameters, database::protocol::query_request::query_string, read_string(), read_uint32(), and read_uint8().
Referenced by TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), and TEST_F().


|
static |
Deserialize query response.
| data | Serialized bytes |
Definition at line 154 of file database_protocol.cpp.
References database::protocol::query_response::affected_rows, database::protocol::query_response::column_names, database::protocol::query_response::error_code, database::protocol::query_response::error_message, database::invalid_argument, database::protocol::query_response::last_insert_id, read_string(), read_uint32(), read_uint64(), read_uint8(), database::protocol::query_response::rows, and database::protocol::query_response::success.
Referenced by TEST_F(), TEST_F(), TEST_F(), TEST_F(), and TEST_F().


|
static |
Deserialize transaction request.
| data | Serialized bytes |
Definition at line 231 of file database_protocol.cpp.
References database::invalid_argument, database::protocol::transaction_request::operation, and read_uint16().
Referenced by TEST_F(), TEST_F(), TEST_F(), and TEST_F().


|
static |
Deserialize transaction response.
| data | Serialized bytes |
Definition at line 268 of file database_protocol.cpp.
References database::protocol::transaction_response::error_message, database::invalid_argument, read_string(), read_uint8(), and database::protocol::transaction_response::success.
Referenced by TEST_F(), TEST_F(), and TEST_F().


|
staticprivate |
Definition at line 334 of file database_protocol.cpp.
References read_uint32().
Referenced by deserialize_connect_request(), deserialize_connect_response(), deserialize_error_response(), deserialize_query_request(), deserialize_query_response(), and deserialize_transaction_response().


|
staticprivate |
Definition at line 311 of file database_protocol.cpp.
Referenced by deserialize_header(), and deserialize_transaction_request().

|
staticprivate |
Definition at line 317 of file database_protocol.cpp.
Referenced by deserialize_connect_request(), deserialize_error_response(), deserialize_header(), deserialize_query_request(), deserialize_query_response(), and read_string().

|
staticprivate |
Definition at line 325 of file database_protocol.cpp.
Referenced by deserialize_header(), and deserialize_query_response().

|
staticprivate |
Definition at line 307 of file database_protocol.cpp.
Referenced by deserialize_connect_response(), deserialize_query_request(), deserialize_query_response(), and deserialize_transaction_response().

|
static |
Serialize connect request.
| request | Connect request |
Definition at line 46 of file database_protocol.cpp.
References database::protocol::connect_request::connection_string, database::protocol::connect_request::database_type, database::protocol::connect_request::options, write_string(), and write_uint32().
Referenced by TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), TEST_F(), and TEST_F().


|
static |
Serialize connect response.
| response | Connect response |
Definition at line 205 of file database_protocol.cpp.
References database::protocol::connect_response::error_message, database::protocol::connect_response::session_id, database::protocol::connect_response::success, write_string(), and write_uint8().

|
static |
Serialize error response.
| response | Error response |
Definition at line 241 of file database_protocol.cpp.
References database::protocol::error_response::error_code, database::protocol::error_response::error_context, database::protocol::error_response::error_message, write_string(), and write_uint32().

|
static |
Serialize query request.
| request | Query request |
Definition at line 87 of file database_protocol.cpp.
References database::protocol::query_request::operation, database::protocol::query_request::parameters, database::protocol::query_request::query_string, write_string(), write_uint32(), and write_uint8().

|
static |
Serialize query response.
| response | Query response |
Definition at line 126 of file database_protocol.cpp.
References database::protocol::query_response::affected_rows, database::protocol::query_response::column_names, database::protocol::query_response::error_code, database::protocol::query_response::error_message, database::protocol::query_response::last_insert_id, database::protocol::query_response::rows, database::protocol::query_response::success, write_string(), write_uint32(), write_uint64(), and write_uint8().

|
static |
Serialize transaction request.
| request | Transaction request |
Definition at line 225 of file database_protocol.cpp.
References database::protocol::transaction_request::operation, and write_uint16().

|
static |
Serialize transaction response.
| response | Transaction response |
Definition at line 261 of file database_protocol.cpp.
References database::protocol::transaction_response::error_message, database::protocol::transaction_response::success, write_string(), and write_uint8().

|
static |
Serialize message header to bytes.
| header | Message header |
Definition at line 11 of file database_protocol.cpp.
References database::protocol::message_header::magic, database::protocol::message_header::payload_size, database::protocol::message_header::request_id, database::protocol::message_header::type, database::protocol::message_header::version, write_uint16(), write_uint32(), and write_uint64().
Referenced by TEST_F(), TEST_F(), TEST_F(), and TEST_F().


|
staticprivate |
Definition at line 302 of file database_protocol.cpp.
References write_uint32().
Referenced by serialize(), serialize(), serialize(), serialize(), serialize(), and serialize().


|
staticprivate |
Definition at line 284 of file database_protocol.cpp.
Referenced by serialize(), and serialize_header().

|
staticprivate |
Definition at line 289 of file database_protocol.cpp.
Referenced by serialize(), serialize(), serialize(), serialize(), serialize_header(), and write_string().

|
staticprivate |
Definition at line 296 of file database_protocol.cpp.
Referenced by serialize(), and serialize_header().

|
staticprivate |
Definition at line 280 of file database_protocol.cpp.
Referenced by serialize(), serialize(), serialize(), and serialize().
