23 #ifndef _SANDESH_PROTOCOL_TBINARYPROTOCOL_H_
24 #define _SANDESH_PROTOCOL_TBINARYPROTOCOL_H_ 1
29 #include <boost/shared_ptr.hpp>
40 template <
class Transport_>
61 int32_t container_limit,
88 void setStrict(
bool strict_read,
bool strict_write) {
117 const TType fieldType,
118 const int16_t fieldId,
119 const std::map<std::string, std::string> *
const amap);
127 const uint32_t size);
157 inline int32_t
writeIPADDR(
const boost::asio::ip::address& ipaddress);
232 inline int32_t
readIPADDR(boost::asio::ip::address& ipaddress);
268 template <
class Transport_>
278 bool strict_read,
bool strict_write) :
299 boost::shared_ptr<TProtocol>
getProtocol(boost::shared_ptr<TTransport> trans) {
300 boost::shared_ptr<Transport_> specific_trans =
301 boost::dynamic_pointer_cast<Transport_>(trans);
303 if (specific_trans) {
312 return boost::shared_ptr<TProtocol>(prot);
327 #include "sandesh/library/cpp/protocol/TBinaryProtocol.tcc"
TBinaryProtocolFactoryT()
void setStringSizeLimit(int32_t string_limit)
boost::shared_ptr< TProtocol > getProtocol(boost::shared_ptr< TTransport > trans)
void setStrict(bool strict_read, bool strict_write)
TBinaryProtocolFactoryT(int32_t string_limit, int32_t container_limit, bool strict_read, bool strict_write)
void setContainerSizeLimit(int32_t container_limit)
virtual ~TBinaryProtocolFactoryT()
int32_t readIPV4(uint32_t &ip4)
int32_t writeXML(const std::string &str)
int32_t writeFieldBegin(const char *name, const TType fieldType, const int16_t fieldId, const std::map< std::string, std::string > *const amap)
int32_t writeSandeshEnd()
int32_t readI16(int16_t &i16)
TBinaryProtocolT(boost::shared_ptr< Transport_ > trans, int32_t string_limit, int32_t container_limit, bool strict_read, bool strict_write)
int32_t writeU32(const uint32_t u32)
int32_t writeMessageBegin(const std::string &name, const TMessageType messageType, const int32_t seqid)
int32_t readBinary(std::string &str)
int32_t writeStructBegin(const char *name)
int32_t writeMapBegin(const TType keyType, const TType valType, const uint32_t size)
int32_t writeString(const std::string &str)
int32_t readBool(bool &value)
int32_t readI32(int32_t &i32)
int32_t readListBegin(TType &elemType, uint32_t &size)
int32_t writeDouble(const double dub)
int32_t writeI32(const int32_t i32)
void setStringSizeLimit(int32_t string_limit)
int32_t writeI16(const int16_t i16)
int32_t readI64(int64_t &i64)
int32_t readU16(uint16_t &u16)
void setStrict(bool strict_read, bool strict_write)
int32_t writeIPV4(const uint32_t ip4)
int32_t writeUUID(const boost::uuids::uuid &uuid)
int32_t writeU64(const uint64_t u64)
static const int32_t VERSION_MASK
int32_t writeIPADDR(const boost::asio::ip::address &ipaddress)
int32_t writeU16(const uint16_t u16)
TBinaryProtocolT(boost::shared_ptr< Transport_ > trans)
void setContainerSizeLimit(int32_t container_limit)
int32_t readSetBegin(TType &elemType, uint32_t &size)
int32_t readXML(std::string &str)
int32_t writeMessageEnd()
int32_t writeByte(const int8_t byte)
static const int32_t VERSION_1
int32_t readString(std::string &str)
int32_t writeContainerElementBegin()
int32_t readContainerElementEnd()
int32_t readMessageBegin(std::string &name, TMessageType &messageType, int32_t &seqid)
int32_t readContainerElementBegin()
int32_t readIPADDR(boost::asio::ip::address &ipaddress)
int32_t readUUID(boost::uuids::uuid &uuid)
int32_t readByte(int8_t &byte)
int32_t readStringBody(std::string &str, int32_t sz)
int32_t writeI64(const int64_t i64)
int32_t writeBinary(const std::string &str)
int32_t readU32(uint32_t &u32)
int32_t writeBool(const bool value)
int32_t readDouble(double &dub)
int32_t writeSetBegin(const TType elemType, const uint32_t size)
int32_t readStructBegin(std::string &name)
int32_t readFieldBegin(std::string &name, TType &fieldType, int16_t &fieldId)
int32_t readU64(uint64_t &u64)
int32_t writeContainerElementEnd()
int32_t writeSandeshBegin(const char *name)
int32_t writeListBegin(const TType elemType, const uint32_t size)
int32_t readSandeshBegin(std::string &name)
int32_t readMapBegin(TType &keyType, TType &valType, uint32_t &size)
TBinaryProtocolT< TTransport > TBinaryProtocol
TBinaryProtocolFactoryT< TTransport > TBinaryProtocolFactory