2
0
mirror of https://github.com/boostorg/mysql.git synced 2026-01-31 08:22:14 +00:00
Files
mysql/include/message_serialization.hpp
2019-09-08 12:13:55 +01:00

44 lines
1.6 KiB
C++

#ifndef INCLUDE_MESSAGE_SERIALIZATION_HPP_
#define INCLUDE_MESSAGE_SERIALIZATION_HPP_
#include "basic_types.hpp"
#include "messages.hpp"
#include "basic_serialization.hpp"
#include <iosfwd>
namespace mysql
{
// general
ReadIterator deserialize(ReadIterator from, ReadIterator last, PacketHeader& output);
void serialize(DynamicBuffer& buffer, const PacketHeader& value);
ReadIterator deserialize(ReadIterator from, ReadIterator last, OkPacket& output);
ReadIterator deserialize(ReadIterator from, ReadIterator last, ErrPacket& output);
// Connection phase
ReadIterator deserialize(ReadIterator from, ReadIterator last, Handshake& output);
void serialize(DynamicBuffer& buffer, const HandshakeResponse& value);
// Resultsets
ReadIterator deserialize(ReadIterator from, ReadIterator last, ColumnDefinition& output);
void serialize_binary_value(DynamicBuffer& buffer, const BinaryValue& value);
// Prepared statements
void serialize(DynamicBuffer& buffer, const StmtPrepare& value);
ReadIterator deserialize(ReadIterator from, ReadIterator last, StmtPrepareResponseHeader& output);
void serialize(DynamicBuffer& buffer, const StmtExecute& value);
ReadIterator deserialize(ReadIterator from, ReadIterator last, StmtExecuteResponseHeader& output);
std::pair<FieldType, bool> compute_field_type(const BinaryValue&);
void serialize(DynamicBuffer& buffer, const StmtFetch& value);
void serialize(DynamicBuffer& buffer, const StmtClose& value);
// Text serialization
std::ostream& operator<<(std::ostream& os, const Handshake& value);
std::ostream& operator<<(std::ostream& os, const HandshakeResponse& value);
}
#endif /* INCLUDE_MESSAGE_SERIALIZATION_HPP_ */