22 #include <boost/uuid/uuid.hpp>
24 #ifndef _SANDESH_PROTOCOL_TVIRTUALPROTOCOL_H_
25 #define _SANDESH_PROTOCOL_TVIRTUALPROTOCOL_H_ 1
29 #include <sandesh/protocol/TProtocol.h>
52 LOG(ERROR, __func__ <<
": This protocol does not support reading (yet).");
58 LOG(ERROR, __func__ <<
": This protocol does not support reading (yet).");
65 LOG(ERROR, __func__ <<
": This protocol does not support reading (yet).");
71 LOG(ERROR, __func__ <<
": This protocol does not support reading (yet).");
78 LOG(ERROR, __func__ <<
": This protocol does not support reading (yet).");
84 LOG(ERROR, __func__ <<
": This protocol does not support reading (yet).");
90 LOG(ERROR, __func__ <<
": This protocol does not support reading (yet).");
96 LOG(ERROR, __func__ <<
": This protocol does not support reading (yet).");
107 LOG(ERROR, __func__ <<
": This protocol does not support reading (yet).");
113 LOG(ERROR, __func__ <<
": This protocol does not support reading (yet).");
122 LOG(ERROR, __func__ <<
": This protocol does not support reading (yet).");
128 LOG(ERROR, __func__ <<
": This protocol does not support reading (yet).");
136 LOG(ERROR, __func__ <<
": This protocol does not support reading (yet).");
142 LOG(ERROR, __func__ <<
": This protocol does not support reading (yet).");
150 LOG(ERROR, __func__ <<
": This protocol does not support reading (yet).");
156 LOG(ERROR, __func__ <<
": This protocol does not support reading (yet).");
163 LOG(ERROR, __func__ <<
": This protocol does not support reading (yet).");
168 int32_t
readBool(std::vector<bool>::reference value) {
170 LOG(ERROR, __func__ <<
": This protocol does not support reading (yet).");
177 LOG(ERROR, __func__ <<
": This protocol does not support reading (yet).");
184 LOG(ERROR, __func__ <<
": This protocol does not support reading (yet).");
191 LOG(ERROR, __func__ <<
": This protocol does not support reading (yet).");
198 LOG(ERROR, __func__ <<
": This protocol does not support reading (yet).");
205 LOG(ERROR, __func__ <<
": This protocol does not support reading (yet).");
212 LOG(ERROR, __func__ <<
": This protocol does not support reading (yet).");
219 LOG(ERROR, __func__ <<
": This protocol does not support reading (yet).");
226 LOG(ERROR, __func__ <<
": This protocol does not support reading (yet).");
233 LOG(ERROR, __func__ <<
": This protocol does not support reading (yet).");
240 LOG(ERROR, __func__ <<
": This protocol does not support reading (yet).");
247 LOG(ERROR, __func__ <<
": This protocol does not support reading (yet).");
254 LOG(ERROR, __func__ <<
": This protocol does not support reading (yet).");
261 LOG(ERROR, __func__ <<
": This protocol does not support reading (yet).");
268 LOG(ERROR, __func__ <<
": This protocol does not support reading (yet).");
275 const int32_t seqid) {
279 LOG(ERROR, __func__ <<
": This protocol does not support writing (yet).");
285 LOG(ERROR, __func__ <<
": This protocol does not support writing (yet).");
292 LOG(ERROR, __func__ <<
": This protocol does not support writing (yet).");
298 LOG(ERROR, __func__ <<
": This protocol does not support writing (yet).");
305 LOG(ERROR, __func__ <<
": This protocol does not support writing (yet).");
311 LOG(ERROR, __func__ <<
": This protocol does not support writing (yet).");
317 LOG(ERROR, __func__ <<
": This protocol does not support writing (yet).");
323 LOG(ERROR, __func__ <<
": This protocol does not support writing (yet).");
329 const TType fieldType,
330 const int16_t fieldId,
331 const std::map<std::string, std::string> *
const amap = NULL) {
335 LOG(ERROR, __func__ <<
": This protocol does not support writing (yet).");
341 LOG(ERROR, __func__ <<
": This protocol does not support writing (yet).");
347 LOG(ERROR, __func__ <<
": This protocol does not support writing (yet).");
354 const uint32_t size) {
358 LOG(ERROR, __func__ <<
": This protocol does not support writing (yet).");
364 LOG(ERROR, __func__ <<
": This protocol does not support writing (yet).");
372 LOG(ERROR, __func__ <<
": This protocol does not support writing (yet).");
378 LOG(ERROR, __func__ <<
": This protocol does not support writing (yet).");
386 LOG(ERROR, __func__ <<
": This protocol does not support writing (yet).");
392 LOG(ERROR, __func__ <<
": This protocol does not support writing (yet).");
399 LOG(ERROR, __func__ <<
": This protocol does not support writing (yet).");
406 LOG(ERROR, __func__ <<
": This protocol does not support writing (yet).");
413 LOG(ERROR, __func__ <<
": This protocol does not support writing (yet).");
420 LOG(ERROR, __func__ <<
": This protocol does not support writing (yet).");
427 LOG(ERROR, __func__ <<
": This protocol does not support writing (yet).");
434 LOG(ERROR, __func__ <<
": This protocol does not support writing (yet).");
441 LOG(ERROR, __func__ <<
": This protocol does not support writing (yet).");
448 LOG(ERROR, __func__ <<
": This protocol does not support writing (yet).");
455 LOG(ERROR, __func__ <<
": This protocol does not support writing (yet).");
462 LOG(ERROR, __func__ <<
": This protocol does not support writing (yet).");
469 LOG(ERROR, __func__ <<
": This protocol does not support writing (yet).");
476 LOG(ERROR, __func__ <<
": This protocol does not support writing (yet).");
483 LOG(ERROR, __func__ <<
": This protocol does not support writing (yet).");
490 LOG(ERROR, __func__ <<
": This protocol does not support writing (yet).");
497 LOG(ERROR, __func__ <<
": This protocol does not support writing (yet).");
516 template <
class Protocol_,
class Super_=TProtocolDefaults>
525 const int32_t seqid) {
560 const TType fieldType,
561 const int16_t fieldId,
562 const std::map<std::string, std::string> *
const amap = NULL) {
577 const uint32_t size) {
578 return static_cast<Protocol_*
>(
this)->
writeMapBegin(keyType, valType, size);
582 return static_cast<Protocol_*
>(
this)->
writeMapEnd();
586 const uint32_t size) {
587 return static_cast<Protocol_*
>(
this)->
writeListBegin(elemType, size);
595 const uint32_t size) {
596 return static_cast<Protocol_*
>(
this)->
writeSetBegin(elemType, size);
600 return static_cast<Protocol_*
>(
this)->
writeSetEnd();
604 return static_cast<Protocol_*
>(
this)->
writeBool(value);
608 return static_cast<Protocol_*
>(
this)->
writeByte(
byte);
612 return static_cast<Protocol_*
>(
this)->
writeI16(i16);
616 return static_cast<Protocol_*
>(
this)->
writeI32(i32);
620 return static_cast<Protocol_*
>(
this)->
writeI64(i64);
624 return static_cast<Protocol_*
>(
this)->
writeU16(u16);
628 return static_cast<Protocol_*
>(
this)->
writeU32(u32);
632 return static_cast<Protocol_*
>(
this)->
writeU64(u64);
636 return static_cast<Protocol_*
>(
this)->
writeIPV4(ip4);
640 return static_cast<Protocol_*
>(
this)->
writeIPADDR(ipaddress);
644 return static_cast<Protocol_*
>(
this)->
writeDouble(dub);
648 return static_cast<Protocol_*
>(
this)->
writeString(str);
652 return static_cast<Protocol_*
>(
this)->
writeBinary(str);
656 return static_cast<Protocol_*
>(
this)->
writeXML(str);
705 return static_cast<Protocol_*
>(
this)->
readFieldBegin(name, fieldType,
716 return static_cast<Protocol_*
>(
this)->
readMapBegin(keyType, valType, size);
720 return static_cast<Protocol_*
>(
this)->
readMapEnd();
725 return static_cast<Protocol_*
>(
this)->
readListBegin(elemType, size);
729 return static_cast<Protocol_*
>(
this)->
readListEnd();
734 return static_cast<Protocol_*
>(
this)->
readSetBegin(elemType, size);
738 return static_cast<Protocol_*
>(
this)->
readSetEnd();
742 return static_cast<Protocol_*
>(
this)->
readBool(value);
746 return static_cast<Protocol_*
>(
this)->
readBool(value);
750 return static_cast<Protocol_*
>(
this)->
readByte(
byte);
754 return static_cast<Protocol_*
>(
this)->
readI16(i16);
758 return static_cast<Protocol_*
>(
this)->
readI32(i32);
762 return static_cast<Protocol_*
>(
this)->
readI64(i64);
766 return static_cast<Protocol_*
>(
this)->
readU16(u16);
770 return static_cast<Protocol_*
>(
this)->
readU32(u32);
774 return static_cast<Protocol_*
>(
this)->
readU64(u64);
778 return static_cast<Protocol_*
>(
this)->
readIPV4(ip4);
782 return static_cast<Protocol_*
>(
this)->
readIPADDR(ipaddress);
786 return static_cast<Protocol_*
>(
this)->
readDouble(dub);
790 return static_cast<Protocol_*
>(
this)->
readString(str);
794 return static_cast<Protocol_*
>(
this)->
readBinary(str);
798 return static_cast<Protocol_*
>(
this)->
readXML(str);
806 return static_cast<Protocol_*
>(
this)->
skip(
type);
820 Protocol_*
const prot =
static_cast<Protocol_*
>(
this);
831 int32_t
readBool(std::vector<bool>::reference value) {
833 uint32_t ret =
static_cast<Protocol_*
>(
this)->
readBool(b);
837 using Super_::readBool;
int32_t writeXML(const std::string &str)
int32_t readBool(bool &value)
int32_t readFieldBegin(std::string &name, TType &fieldType, int16_t &fieldId)
int32_t readBinary(std::string &str)
int32_t writeByte(const int8_t byte)
int32_t readContainerElementEnd()
int32_t readMessageBegin(std::string &name, TMessageType &messageType, int32_t &seqid)
int32_t writeBool(const bool value)
int32_t readI64(int64_t &i64)
int32_t writeContainerElementEnd()
int32_t readContainerElementBegin()
int32_t writeI64(const int64_t i64)
int32_t readMapBegin(TType &keyType, TType &valType, uint32_t &size)
int32_t writeListBegin(const TType elemType, const uint32_t size)
int32_t writeString(const std::string &str)
int32_t writeBinary(const std::string &str)
int32_t writeContainerElementBegin()
int32_t writeU32(const uint32_t i32)
int32_t readIPADDR(boost::asio::ip::address &ipaddress)
int32_t readListBegin(TType &elemType, uint32_t &size)
int32_t writeMessageEnd()
int32_t writeIPADDR(const boost::asio::ip::address &ipaddress)
int32_t writeMapBegin(const TType keyType, const TType valType, const uint32_t size)
int32_t readByte(int8_t &byte)
int32_t readU16(uint16_t &u16)
int32_t readString(std::string &str)
TProtocolDefaults(boost::shared_ptr< TTransport > ptrans)
int32_t writeI16(const int16_t i16)
int32_t readU32(uint32_t &u32)
int32_t writeU16(const uint16_t i16)
int32_t readSetBegin(TType &elemType, uint32_t &size)
int32_t writeStructBegin(const char *name)
int32_t writeFieldBegin(const char *name, const TType fieldType, const int16_t fieldId, const std::map< std::string, std::string > *const amap=NULL)
int32_t readU64(uint64_t &u64)
int32_t readBool(std::vector< bool >::reference value)
int32_t readXML(std::string &str)
int32_t readStructBegin(std::string &name)
int32_t readSandeshBegin(std::string &name)
int32_t writeDouble(const double dub)
int32_t readIPV4(uint32_t &ip4)
int32_t readUUID(boost::uuids::uuid &uuid)
int32_t writeIPV4(const uint32_t ip4)
int32_t writeMessageBegin(const std::string &name, const TMessageType messageType, const int32_t seqid)
int32_t readI16(int16_t &i16)
int32_t readI32(int32_t &i32)
int32_t writeU64(const uint64_t i64)
int32_t readDouble(double &dub)
int32_t writeUUID(const boost::uuids::uuid &uuid)
int32_t writeI32(const int32_t i32)
int32_t writeSandeshEnd()
int32_t writeSetBegin(const TType elemType, const uint32_t size)
int32_t writeSandeshBegin(const char *name)
virtual int32_t readString_virt(std::string &str)
virtual int32_t readDouble_virt(double &dub)
virtual int32_t writeByte_virt(const int8_t byte)
virtual int32_t readSetBegin_virt(TType &elemType, uint32_t &size)
virtual int32_t writeIPADDR_virt(const boost::asio::ip::address &ipaddress)
virtual int32_t readSandeshBegin_virt(std::string &name)
virtual int32_t writeI16_virt(const int16_t i16)
virtual int32_t writeMapBegin_virt(const TType keyType, const TType valType, const uint32_t size)
virtual int32_t readBool_virt(bool &value)
virtual int32_t readU64_virt(uint64_t &u64)
virtual int32_t readFieldBegin_virt(std::string &name, TType &fieldType, int16_t &fieldId)
virtual int32_t readMapBegin_virt(TType &keyType, TType &valType, uint32_t &size)
virtual int32_t writeMessageEnd_virt()
virtual int32_t readU16_virt(uint16_t &u16)
virtual int32_t writeBool_virt(const bool value)
virtual int32_t writeMessageBegin_virt(const std::string &name, const TMessageType messageType, const int32_t seqid)
virtual int32_t writeI64_virt(const int64_t i64)
virtual int32_t readStructEnd_virt()
virtual int32_t writeI32_virt(const int32_t i32)
virtual int32_t writeUUID_virt(const boost::uuids::uuid &uuid)
virtual int32_t readIPADDR_virt(boost::asio::ip::address &ipaddress)
virtual int32_t writeListBegin_virt(const TType elemType, const uint32_t size)
virtual int32_t readI32_virt(int32_t &i32)
virtual int32_t readIPV4_virt(uint32_t &ip4)
virtual int32_t readBool_virt(std::vector< bool >::reference value)
virtual int32_t readI16_virt(int16_t &i16)
virtual int32_t writeXML_virt(const std::string &str)
virtual int32_t writeU64_virt(const uint64_t u64)
virtual int32_t readContainerElementBegin_virt()
virtual int32_t writeU32_virt(const uint32_t u32)
virtual int32_t writeSandeshBegin_virt(const char *name)
virtual int32_t writeBinary_virt(const std::string &str)
virtual int32_t writeFieldStop_virt()
virtual int32_t writeStructEnd_virt()
virtual int32_t readMessageBegin_virt(std::string &name, TMessageType &messageType, int32_t &seqid)
virtual int32_t writeSandeshEnd_virt()
virtual int32_t readSandeshEnd_virt()
virtual int32_t skip_virt(TType type)
virtual int32_t writeContainerElementEnd_virt()
virtual int32_t readStructBegin_virt(std::string &name)
virtual int32_t readMessageEnd_virt()
virtual int32_t writeListEnd_virt()
virtual int32_t readByte_virt(int8_t &byte)
virtual int32_t writeContainerElementBegin_virt()
virtual int32_t readContainerElementEnd_virt()
virtual int32_t writeFieldEnd_virt()
virtual int32_t readSetEnd_virt()
virtual int32_t writeDouble_virt(const double dub)
virtual int32_t writeString_virt(const std::string &str)
virtual int32_t writeMapEnd_virt()
virtual int32_t writeStructBegin_virt(const char *name)
virtual int32_t readListBegin_virt(TType &elemType, uint32_t &size)
virtual int32_t writeU16_virt(const uint16_t u16)
virtual int32_t readMapEnd_virt()
virtual int32_t readUUID_virt(boost::uuids::uuid &uuid)
virtual int32_t writeIPV4_virt(const uint32_t ip4)
virtual int32_t readListEnd_virt()
virtual int32_t readBinary_virt(std::string &str)
virtual int32_t readFieldEnd_virt()
virtual int32_t writeFieldBegin_virt(const char *name, const TType fieldType, const int16_t fieldId, const std::map< std::string, std::string > *const amap=NULL)
int32_t readBool(std::vector< bool >::reference value)
virtual int32_t writeSetEnd_virt()
virtual int32_t readI64_virt(int64_t &i64)
virtual int32_t readU32_virt(uint32_t &u32)
virtual int32_t readXML_virt(std::string &str)
virtual int32_t writeSetBegin_virt(const TType elemType, const uint32_t size)
TVirtualProtocol(boost::shared_ptr< TTransport > ptrans)
#define LOG(_Level, _Msg)
int32_t skip(Protocol_ &prot, TType type)