25 #include <boost/uuid/uuid.hpp>
27 #ifndef _SANDESH_PROTOCOL_TVIRTUALPROTOCOL_H_
28 #define _SANDESH_PROTOCOL_TVIRTUALPROTOCOL_H_ 1
32 #include <sandesh/protocol/TProtocol.h>
55 LOG(ERROR, __func__ <<
": This protocol does not support reading (yet).");
61 LOG(ERROR, __func__ <<
": This protocol does not support reading (yet).");
68 LOG(ERROR, __func__ <<
": This protocol does not support reading (yet).");
74 LOG(ERROR, __func__ <<
": This protocol does not support reading (yet).");
81 LOG(ERROR, __func__ <<
": This protocol does not support reading (yet).");
87 LOG(ERROR, __func__ <<
": This protocol does not support reading (yet).");
93 LOG(ERROR, __func__ <<
": This protocol does not support reading (yet).");
99 LOG(ERROR, __func__ <<
": This protocol does not support reading (yet).");
110 LOG(ERROR, __func__ <<
": This protocol does not support reading (yet).");
116 LOG(ERROR, __func__ <<
": This protocol does not support reading (yet).");
125 LOG(ERROR, __func__ <<
": This protocol does not support reading (yet).");
131 LOG(ERROR, __func__ <<
": This protocol does not support reading (yet).");
139 LOG(ERROR, __func__ <<
": This protocol does not support reading (yet).");
145 LOG(ERROR, __func__ <<
": This protocol does not support reading (yet).");
153 LOG(ERROR, __func__ <<
": This protocol does not support reading (yet).");
159 LOG(ERROR, __func__ <<
": This protocol does not support reading (yet).");
166 LOG(ERROR, __func__ <<
": This protocol does not support reading (yet).");
171 int32_t
readBool(std::vector<bool>::reference value) {
173 LOG(ERROR, __func__ <<
": This protocol does not support reading (yet).");
180 LOG(ERROR, __func__ <<
": This protocol does not support reading (yet).");
187 LOG(ERROR, __func__ <<
": This protocol does not support reading (yet).");
194 LOG(ERROR, __func__ <<
": This protocol does not support reading (yet).");
201 LOG(ERROR, __func__ <<
": This protocol does not support reading (yet).");
208 LOG(ERROR, __func__ <<
": This protocol does not support reading (yet).");
215 LOG(ERROR, __func__ <<
": This protocol does not support reading (yet).");
222 LOG(ERROR, __func__ <<
": This protocol does not support reading (yet).");
229 LOG(ERROR, __func__ <<
": This protocol does not support reading (yet).");
236 LOG(ERROR, __func__ <<
": This protocol does not support reading (yet).");
243 LOG(ERROR, __func__ <<
": This protocol does not support reading (yet).");
250 LOG(ERROR, __func__ <<
": This protocol does not support reading (yet).");
257 LOG(ERROR, __func__ <<
": This protocol does not support reading (yet).");
264 LOG(ERROR, __func__ <<
": This protocol does not support reading (yet).");
271 LOG(ERROR, __func__ <<
": This protocol does not support reading (yet).");
278 const int32_t seqid) {
282 LOG(ERROR, __func__ <<
": This protocol does not support writing (yet).");
288 LOG(ERROR, __func__ <<
": This protocol does not support writing (yet).");
295 LOG(ERROR, __func__ <<
": This protocol does not support writing (yet).");
301 LOG(ERROR, __func__ <<
": This protocol does not support writing (yet).");
308 LOG(ERROR, __func__ <<
": This protocol does not support writing (yet).");
314 LOG(ERROR, __func__ <<
": This protocol does not support writing (yet).");
320 LOG(ERROR, __func__ <<
": This protocol does not support writing (yet).");
326 LOG(ERROR, __func__ <<
": This protocol does not support writing (yet).");
332 const TType fieldType,
333 const int16_t fieldId,
334 const std::map<std::string, std::string> *
const amap = NULL) {
338 LOG(ERROR, __func__ <<
": This protocol does not support writing (yet).");
344 LOG(ERROR, __func__ <<
": This protocol does not support writing (yet).");
350 LOG(ERROR, __func__ <<
": This protocol does not support writing (yet).");
357 const uint32_t size) {
361 LOG(ERROR, __func__ <<
": This protocol does not support writing (yet).");
367 LOG(ERROR, __func__ <<
": This protocol does not support writing (yet).");
375 LOG(ERROR, __func__ <<
": This protocol does not support writing (yet).");
381 LOG(ERROR, __func__ <<
": This protocol does not support writing (yet).");
389 LOG(ERROR, __func__ <<
": This protocol does not support writing (yet).");
395 LOG(ERROR, __func__ <<
": This protocol does not support writing (yet).");
402 LOG(ERROR, __func__ <<
": This protocol does not support writing (yet).");
409 LOG(ERROR, __func__ <<
": This protocol does not support writing (yet).");
416 LOG(ERROR, __func__ <<
": This protocol does not support writing (yet).");
423 LOG(ERROR, __func__ <<
": This protocol does not support writing (yet).");
430 LOG(ERROR, __func__ <<
": This protocol does not support writing (yet).");
437 LOG(ERROR, __func__ <<
": This protocol does not support writing (yet).");
444 LOG(ERROR, __func__ <<
": This protocol does not support writing (yet).");
451 LOG(ERROR, __func__ <<
": This protocol does not support writing (yet).");
458 LOG(ERROR, __func__ <<
": This protocol does not support writing (yet).");
465 LOG(ERROR, __func__ <<
": This protocol does not support writing (yet).");
472 LOG(ERROR, __func__ <<
": This protocol does not support writing (yet).");
479 LOG(ERROR, __func__ <<
": This protocol does not support writing (yet).");
486 LOG(ERROR, __func__ <<
": This protocol does not support writing (yet).");
493 LOG(ERROR, __func__ <<
": This protocol does not support writing (yet).");
500 LOG(ERROR, __func__ <<
": This protocol does not support writing (yet).");
519 template <
class Protocol_,
class Super_=TProtocolDefaults>
528 const int32_t seqid) {
563 const TType fieldType,
564 const int16_t fieldId,
565 const std::map<std::string, std::string> *
const amap = NULL) {
580 const uint32_t size) {
581 return static_cast<Protocol_*
>(
this)->
writeMapBegin(keyType, valType, size);
585 return static_cast<Protocol_*
>(
this)->
writeMapEnd();
589 const uint32_t size) {
590 return static_cast<Protocol_*
>(
this)->
writeListBegin(elemType, size);
598 const uint32_t size) {
599 return static_cast<Protocol_*
>(
this)->
writeSetBegin(elemType, size);
603 return static_cast<Protocol_*
>(
this)->
writeSetEnd();
607 return static_cast<Protocol_*
>(
this)->
writeBool(value);
611 return static_cast<Protocol_*
>(
this)->
writeByte(
byte);
615 return static_cast<Protocol_*
>(
this)->
writeI16(i16);
619 return static_cast<Protocol_*
>(
this)->
writeI32(i32);
623 return static_cast<Protocol_*
>(
this)->
writeI64(i64);
627 return static_cast<Protocol_*
>(
this)->
writeU16(u16);
631 return static_cast<Protocol_*
>(
this)->
writeU32(u32);
635 return static_cast<Protocol_*
>(
this)->
writeU64(u64);
639 return static_cast<Protocol_*
>(
this)->
writeIPV4(ip4);
643 return static_cast<Protocol_*
>(
this)->
writeIPADDR(ipaddress);
647 return static_cast<Protocol_*
>(
this)->
writeDouble(dub);
651 return static_cast<Protocol_*
>(
this)->
writeString(str);
655 return static_cast<Protocol_*
>(
this)->
writeBinary(str);
659 return static_cast<Protocol_*
>(
this)->
writeXML(str);
708 return static_cast<Protocol_*
>(
this)->
readFieldBegin(name, fieldType,
719 return static_cast<Protocol_*
>(
this)->
readMapBegin(keyType, valType, size);
723 return static_cast<Protocol_*
>(
this)->
readMapEnd();
728 return static_cast<Protocol_*
>(
this)->
readListBegin(elemType, size);
732 return static_cast<Protocol_*
>(
this)->
readListEnd();
737 return static_cast<Protocol_*
>(
this)->
readSetBegin(elemType, size);
741 return static_cast<Protocol_*
>(
this)->
readSetEnd();
745 return static_cast<Protocol_*
>(
this)->
readBool(value);
749 return static_cast<Protocol_*
>(
this)->
readBool(value);
753 return static_cast<Protocol_*
>(
this)->
readByte(
byte);
757 return static_cast<Protocol_*
>(
this)->
readI16(i16);
761 return static_cast<Protocol_*
>(
this)->
readI32(i32);
765 return static_cast<Protocol_*
>(
this)->
readI64(i64);
769 return static_cast<Protocol_*
>(
this)->
readU16(u16);
773 return static_cast<Protocol_*
>(
this)->
readU32(u32);
777 return static_cast<Protocol_*
>(
this)->
readU64(u64);
781 return static_cast<Protocol_*
>(
this)->
readIPV4(ip4);
785 return static_cast<Protocol_*
>(
this)->
readIPADDR(ipaddress);
789 return static_cast<Protocol_*
>(
this)->
readDouble(dub);
793 return static_cast<Protocol_*
>(
this)->
readString(str);
797 return static_cast<Protocol_*
>(
this)->
readBinary(str);
801 return static_cast<Protocol_*
>(
this)->
readXML(str);
809 return static_cast<Protocol_*
>(
this)->
skip(
type);
823 Protocol_*
const prot =
static_cast<Protocol_*
>(
this);
834 int32_t
readBool(std::vector<bool>::reference value) {
836 uint32_t ret =
static_cast<Protocol_*
>(
this)->
readBool(b);
840 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)