Library: RemotingNG
Package: Serialization
Header: Poco/RemotingNG/BinarySerializer.h
A generic Serializer using a proprietary binary serialization format based on the Poco::BinaryWriter class.
This class can be used by all Transport implementations using a binary serialization format that does not need to be interoperable with other network protocols.
This serializer uses a Poco::BinaryWriter for serializing data in binary form. Data is always written in the host's native endian format. To allow the deserializer finding out the endianess used by the serializer, a byte order mark is written at the beginning of the message.
Messages created by the BinarySerializer are not self describing and contain only minimal measures for detecting deserialization failures or message version incompatibilities.
Direct Base Classes: Serializer
All Base Classes: Serializer, SerializerBase
Member Functions: resetImpl, serialize, serializeFaultMessage, serializeMessageBegin, serializeMessageEnd, serializeNullableBegin, serializeNullableEnd, serializeSequenceBegin, serializeSequenceEnd, serializeStructBegin, serializeStructEnd, setupImpl
Inherited Functions: clearProperties, getProperty, hasProperty, popProperty, pushAttribute, pushProperty, reset, resetImpl, serialize, serializeFaultMessage, serializeMessageBegin, serializeMessageEnd, serializeNullableBegin, serializeNullableEnd, serializeSequenceBegin, serializeSequenceEnd, serializeStructBegin, serializeStructEnd, setup, setupImpl
MESSAGE_CODE_REQUEST = 0x01
MESSAGE_CODE_EVENT = 0x02
MESSAGE_CODE_REPLY = 0x11
MESSAGE_CODE_EVENT_REPLY = 0x12
MESSAGE_CODE_FAULT = 0x18
Creates a BinarySerializer.
~BinarySerializer();
Destroys the BinarySerializer.
void serialize(
const std::string & name,
Poco::Int8 value
);
void serialize(
const std::string & name,
Poco::UInt8 value
);
void serialize(
const std::string & name,
Poco::Int16 value
);
void serialize(
const std::string & name,
Poco::UInt16 value
);
void serialize(
const std::string & name,
Poco::Int32 value
);
void serialize(
const std::string & name,
Poco::UInt32 value
);
void serialize(
const std::string & name,
long value
);
void serialize(
const std::string & name,
unsigned long value
);
void serialize(
const std::string & name,
float value
);
void serialize(
const std::string & name,
double value
);
void serialize(
const std::string & name,
bool value
);
void serialize(
const std::string & name,
char value
);
void serialize(
const std::string & name,
const std::string & value
);
void serialize(
const std::string & name,
const std::vector < char > & value
);
void serializeFaultMessage(
const std::string & name,
Poco::Exception & exc
);
void serializeMessageBegin(
const std::string & name,
SerializerBase::MessageType type
);
void serializeMessageEnd(
const std::string & name,
SerializerBase::MessageType type
);
void serializeNullableBegin(
const std::string & name,
bool isNull
);
void serializeNullableEnd(
const std::string & name
);
void serializeSequenceBegin(
const std::string & name,
Poco::UInt32 length
);
void serializeSequenceEnd(
const std::string & name
);
void serializeStructBegin(
const std::string & name
);
void serializeStructEnd(
const std::string & name
);
void resetImpl();
void setupImpl(
std::ostream & ostr
);
static const std::string MESSAGE_END_TAG;
static const std::string MESSAGE_START_TAG;