![]() |
RTBKit
0.9
Open-source framework to create real-time ad bidding systems.
|
00001 00006 #include "flume_types.h" 00007 00008 00009 00010 int _kPriorityValues[] = { 00011 Priority::FATAL, 00012 Priority::ERROR, 00013 Priority::WARN, 00014 Priority::INFO, 00015 Priority::DEBUG, 00016 Priority::TRACE 00017 }; 00018 const char* _kPriorityNames[] = { 00019 "FATAL", 00020 "ERROR", 00021 "WARN", 00022 "INFO", 00023 "DEBUG", 00024 "TRACE" 00025 }; 00026 const std::map<int, const char*> _Priority_VALUES_TO_NAMES(::apache::thrift::TEnumIterator(6, _kPriorityValues, _kPriorityNames), ::apache::thrift::TEnumIterator(-1, NULL, NULL)); 00027 00028 int _kEventStatusValues[] = { 00029 EventStatus::ACK, 00030 EventStatus::COMMITED, 00031 EventStatus::ERR 00032 }; 00033 const char* _kEventStatusNames[] = { 00034 "ACK", 00035 "COMMITED", 00036 "ERR" 00037 }; 00038 const std::map<int, const char*> _EventStatus_VALUES_TO_NAMES(::apache::thrift::TEnumIterator(3, _kEventStatusValues, _kEventStatusNames), ::apache::thrift::TEnumIterator(-1, NULL, NULL)); 00039 00040 const char* ThriftFlumeEvent::ascii_fingerprint = "BC13FFB3246A0179557F7F60C181A557"; 00041 const uint8_t ThriftFlumeEvent::binary_fingerprint[16] = {0xBC,0x13,0xFF,0xB3,0x24,0x6A,0x01,0x79,0x55,0x7F,0x7F,0x60,0xC1,0x81,0xA5,0x57}; 00042 00043 uint32_t ThriftFlumeEvent::read(::apache::thrift::protocol::TProtocol* iprot) { 00044 00045 uint32_t xfer = 0; 00046 std::string fname; 00047 ::apache::thrift::protocol::TType ftype; 00048 int16_t fid; 00049 00050 xfer += iprot->readStructBegin(fname); 00051 00052 using ::apache::thrift::protocol::TProtocolException; 00053 00054 00055 while (true) 00056 { 00057 xfer += iprot->readFieldBegin(fname, ftype, fid); 00058 if (ftype == ::apache::thrift::protocol::T_STOP) { 00059 break; 00060 } 00061 switch (fid) 00062 { 00063 case 1: 00064 if (ftype == ::apache::thrift::protocol::T_I64) { 00065 xfer += iprot->readI64(this->timestamp); 00066 this->__isset.timestamp = true; 00067 } else { 00068 xfer += iprot->skip(ftype); 00069 } 00070 break; 00071 case 2: 00072 if (ftype == ::apache::thrift::protocol::T_I32) { 00073 int32_t ecast0; 00074 xfer += iprot->readI32(ecast0); 00075 this->priority = (Priority::type)ecast0; 00076 this->__isset.priority = true; 00077 } else { 00078 xfer += iprot->skip(ftype); 00079 } 00080 break; 00081 case 3: 00082 if (ftype == ::apache::thrift::protocol::T_STRING) { 00083 xfer += iprot->readBinary(this->body); 00084 this->__isset.body = true; 00085 } else { 00086 xfer += iprot->skip(ftype); 00087 } 00088 break; 00089 case 4: 00090 if (ftype == ::apache::thrift::protocol::T_I64) { 00091 xfer += iprot->readI64(this->nanos); 00092 this->__isset.nanos = true; 00093 } else { 00094 xfer += iprot->skip(ftype); 00095 } 00096 break; 00097 case 5: 00098 if (ftype == ::apache::thrift::protocol::T_STRING) { 00099 xfer += iprot->readString(this->host); 00100 this->__isset.host = true; 00101 } else { 00102 xfer += iprot->skip(ftype); 00103 } 00104 break; 00105 case 6: 00106 if (ftype == ::apache::thrift::protocol::T_MAP) { 00107 { 00108 this->fields.clear(); 00109 uint32_t _size1; 00110 ::apache::thrift::protocol::TType _ktype2; 00111 ::apache::thrift::protocol::TType _vtype3; 00112 iprot->readMapBegin(_ktype2, _vtype3, _size1); 00113 uint32_t _i5; 00114 for (_i5 = 0; _i5 < _size1; ++_i5) 00115 { 00116 std::string _key6; 00117 xfer += iprot->readString(_key6); 00118 std::string& _val7 = this->fields[_key6]; 00119 xfer += iprot->readBinary(_val7); 00120 } 00121 iprot->readMapEnd(); 00122 } 00123 this->__isset.fields = true; 00124 } else { 00125 xfer += iprot->skip(ftype); 00126 } 00127 break; 00128 default: 00129 xfer += iprot->skip(ftype); 00130 break; 00131 } 00132 xfer += iprot->readFieldEnd(); 00133 } 00134 00135 xfer += iprot->readStructEnd(); 00136 00137 return xfer; 00138 } 00139 00140 uint32_t ThriftFlumeEvent::write(::apache::thrift::protocol::TProtocol* oprot) const { 00141 uint32_t xfer = 0; 00142 xfer += oprot->writeStructBegin("ThriftFlumeEvent"); 00143 xfer += oprot->writeFieldBegin("timestamp", ::apache::thrift::protocol::T_I64, 1); 00144 xfer += oprot->writeI64(this->timestamp); 00145 xfer += oprot->writeFieldEnd(); 00146 xfer += oprot->writeFieldBegin("priority", ::apache::thrift::protocol::T_I32, 2); 00147 xfer += oprot->writeI32((int32_t)this->priority); 00148 xfer += oprot->writeFieldEnd(); 00149 xfer += oprot->writeFieldBegin("body", ::apache::thrift::protocol::T_STRING, 3); 00150 xfer += oprot->writeBinary(this->body); 00151 xfer += oprot->writeFieldEnd(); 00152 xfer += oprot->writeFieldBegin("nanos", ::apache::thrift::protocol::T_I64, 4); 00153 xfer += oprot->writeI64(this->nanos); 00154 xfer += oprot->writeFieldEnd(); 00155 xfer += oprot->writeFieldBegin("host", ::apache::thrift::protocol::T_STRING, 5); 00156 xfer += oprot->writeString(this->host); 00157 xfer += oprot->writeFieldEnd(); 00158 xfer += oprot->writeFieldBegin("fields", ::apache::thrift::protocol::T_MAP, 6); 00159 { 00160 xfer += oprot->writeMapBegin(::apache::thrift::protocol::T_STRING, ::apache::thrift::protocol::T_STRING, this->fields.size()); 00161 std::map<std::string, std::string> ::const_iterator _iter8; 00162 for (_iter8 = this->fields.begin(); _iter8 != this->fields.end(); ++_iter8) 00163 { 00164 xfer += oprot->writeString(_iter8->first); 00165 xfer += oprot->writeBinary(_iter8->second); 00166 } 00167 xfer += oprot->writeMapEnd(); 00168 } 00169 xfer += oprot->writeFieldEnd(); 00170 xfer += oprot->writeFieldStop(); 00171 xfer += oprot->writeStructEnd(); 00172 return xfer; 00173 } 00174 00175