rocksdb/scribe/if/gen-cpp/scribe.cpp
heyongqiang 6ba1f17789 adding a scribe logger in leveldb to log leveldb deploy stats
Summary:
as subject.

A new log is written to scribe via thrift client when a new db is opened and when there is
a compaction.

a new option var scribe_log_db_stats is added.

Test Plan: manually checked using command "ptail -time 0 leveldb_deploy_stats"

Reviewers: dhruba

Differential Revision: https://reviews.facebook.net/D4659
2012-08-21 11:43:22 -07:00

1013 lines
30 KiB
C++

/**
* Autogenerated by Thrift
*
* DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
* @generated
*/
#include "scribe.h"
#include "folly/ScopeGuard.h"
namespace Tleveldb {
uint32_t scribe_Log_args::read(apache::thrift::protocol::TProtocol* iprot) {
uint32_t xfer = 0;
std::string fname;
apache::thrift::protocol::TType ftype;
int16_t fid;
xfer += iprot->readStructBegin(fname);
using apache::thrift::protocol::TProtocolException;
while (true)
{
xfer += iprot->readFieldBegin(fname, ftype, fid);
if (ftype == apache::thrift::protocol::T_STOP) {
break;
}
switch (fid)
{
case 1:
if (ftype == apache::thrift::protocol::T_LIST) {
{
this->messages.clear();
uint32_t _size14;
apache::thrift::protocol::TType _etype17;
xfer += iprot->readListBegin(_etype17, _size14);
this->messages.resize(_size14);
uint32_t _i18;
for (_i18 = 0; _i18 < _size14; ++_i18)
{
xfer += this->messages[_i18].read(iprot);
}
xfer += iprot->readListEnd();
}
this->__isset.messages = true;
} else {
xfer += iprot->skip(ftype);
}
break;
default:
xfer += iprot->skip(ftype);
break;
}
xfer += iprot->readFieldEnd();
}
xfer += iprot->readStructEnd();
return xfer;
}
uint32_t scribe_Log_args::write(apache::thrift::protocol::TProtocol* oprot) const {
uint32_t xfer = 0;
xfer += oprot->writeStructBegin("scribe_Log_args");
xfer += oprot->writeFieldBegin("messages", apache::thrift::protocol::T_LIST, 1);
{
xfer += oprot->writeListBegin(apache::thrift::protocol::T_STRUCT, this->messages.size());
std::vector<LogEntry> ::const_iterator _iter19;
for (_iter19 = this->messages.begin(); _iter19 != this->messages.end(); ++_iter19)
{
xfer += (*_iter19).write(oprot);
}
xfer += oprot->writeListEnd();
}
xfer += oprot->writeFieldEnd();
xfer += oprot->writeFieldStop();
xfer += oprot->writeStructEnd();
return xfer;
}
uint32_t scribe_Log_pargs::write(apache::thrift::protocol::TProtocol* oprot) const {
uint32_t xfer = 0;
xfer += oprot->writeStructBegin("scribe_Log_pargs");
xfer += oprot->writeFieldBegin("messages", apache::thrift::protocol::T_LIST, 1);
{
xfer += oprot->writeListBegin(apache::thrift::protocol::T_STRUCT, (*(this->messages)).size());
std::vector<LogEntry> ::const_iterator _iter20;
for (_iter20 = (*(this->messages)).begin(); _iter20 != (*(this->messages)).end(); ++_iter20)
{
xfer += (*_iter20).write(oprot);
}
xfer += oprot->writeListEnd();
}
xfer += oprot->writeFieldEnd();
xfer += oprot->writeFieldStop();
xfer += oprot->writeStructEnd();
return xfer;
}
uint32_t scribe_Log_result::read(apache::thrift::protocol::TProtocol* iprot) {
uint32_t xfer = 0;
std::string fname;
apache::thrift::protocol::TType ftype;
int16_t fid;
xfer += iprot->readStructBegin(fname);
using apache::thrift::protocol::TProtocolException;
while (true)
{
xfer += iprot->readFieldBegin(fname, ftype, fid);
if (ftype == apache::thrift::protocol::T_STOP) {
break;
}
switch (fid)
{
case 0:
if (ftype == apache::thrift::protocol::T_I32) {
int32_t ecast21;
xfer += iprot->readI32(ecast21);
this->success = (ResultCode)ecast21;
this->__isset.success = true;
} else {
xfer += iprot->skip(ftype);
}
break;
default:
xfer += iprot->skip(ftype);
break;
}
xfer += iprot->readFieldEnd();
}
xfer += iprot->readStructEnd();
return xfer;
}
uint32_t scribe_Log_result::write(apache::thrift::protocol::TProtocol* oprot) const {
uint32_t xfer = 0;
xfer += oprot->writeStructBegin("scribe_Log_result");
if (this->__isset.success) {
xfer += oprot->writeFieldBegin("success", apache::thrift::protocol::T_I32, 0);
xfer += oprot->writeI32((int32_t)this->success);
xfer += oprot->writeFieldEnd();
}
xfer += oprot->writeFieldStop();
xfer += oprot->writeStructEnd();
return xfer;
}
uint32_t scribe_Log_presult::read(apache::thrift::protocol::TProtocol* iprot) {
uint32_t xfer = 0;
std::string fname;
apache::thrift::protocol::TType ftype;
int16_t fid;
xfer += iprot->readStructBegin(fname);
using apache::thrift::protocol::TProtocolException;
while (true)
{
xfer += iprot->readFieldBegin(fname, ftype, fid);
if (ftype == apache::thrift::protocol::T_STOP) {
break;
}
switch (fid)
{
case 0:
if (ftype == apache::thrift::protocol::T_I32) {
int32_t ecast22;
xfer += iprot->readI32(ecast22);
(*(this->success)) = (ResultCode)ecast22;
this->__isset.success = true;
} else {
xfer += iprot->skip(ftype);
}
break;
default:
xfer += iprot->skip(ftype);
break;
}
xfer += iprot->readFieldEnd();
}
xfer += iprot->readStructEnd();
return xfer;
}
uint32_t scribe_LogMulti_args::read(apache::thrift::protocol::TProtocol* iprot) {
uint32_t xfer = 0;
std::string fname;
apache::thrift::protocol::TType ftype;
int16_t fid;
xfer += iprot->readStructBegin(fname);
using apache::thrift::protocol::TProtocolException;
while (true)
{
xfer += iprot->readFieldBegin(fname, ftype, fid);
if (ftype == apache::thrift::protocol::T_STOP) {
break;
}
switch (fid)
{
case 1:
if (ftype == apache::thrift::protocol::T_LIST) {
{
this->messages.clear();
uint32_t _size23;
apache::thrift::protocol::TType _etype26;
xfer += iprot->readListBegin(_etype26, _size23);
this->messages.resize(_size23);
uint32_t _i27;
for (_i27 = 0; _i27 < _size23; ++_i27)
{
xfer += this->messages[_i27].read(iprot);
}
xfer += iprot->readListEnd();
}
this->__isset.messages = true;
} else {
xfer += iprot->skip(ftype);
}
break;
default:
xfer += iprot->skip(ftype);
break;
}
xfer += iprot->readFieldEnd();
}
xfer += iprot->readStructEnd();
return xfer;
}
uint32_t scribe_LogMulti_args::write(apache::thrift::protocol::TProtocol* oprot) const {
uint32_t xfer = 0;
xfer += oprot->writeStructBegin("scribe_LogMulti_args");
xfer += oprot->writeFieldBegin("messages", apache::thrift::protocol::T_LIST, 1);
{
xfer += oprot->writeListBegin(apache::thrift::protocol::T_STRUCT, this->messages.size());
std::vector<LogEntry> ::const_iterator _iter28;
for (_iter28 = this->messages.begin(); _iter28 != this->messages.end(); ++_iter28)
{
xfer += (*_iter28).write(oprot);
}
xfer += oprot->writeListEnd();
}
xfer += oprot->writeFieldEnd();
xfer += oprot->writeFieldStop();
xfer += oprot->writeStructEnd();
return xfer;
}
uint32_t scribe_LogMulti_pargs::write(apache::thrift::protocol::TProtocol* oprot) const {
uint32_t xfer = 0;
xfer += oprot->writeStructBegin("scribe_LogMulti_pargs");
xfer += oprot->writeFieldBegin("messages", apache::thrift::protocol::T_LIST, 1);
{
xfer += oprot->writeListBegin(apache::thrift::protocol::T_STRUCT, (*(this->messages)).size());
std::vector<LogEntry> ::const_iterator _iter29;
for (_iter29 = (*(this->messages)).begin(); _iter29 != (*(this->messages)).end(); ++_iter29)
{
xfer += (*_iter29).write(oprot);
}
xfer += oprot->writeListEnd();
}
xfer += oprot->writeFieldEnd();
xfer += oprot->writeFieldStop();
xfer += oprot->writeStructEnd();
return xfer;
}
uint32_t scribe_LogMulti_result::read(apache::thrift::protocol::TProtocol* iprot) {
uint32_t xfer = 0;
std::string fname;
apache::thrift::protocol::TType ftype;
int16_t fid;
xfer += iprot->readStructBegin(fname);
using apache::thrift::protocol::TProtocolException;
while (true)
{
xfer += iprot->readFieldBegin(fname, ftype, fid);
if (ftype == apache::thrift::protocol::T_STOP) {
break;
}
switch (fid)
{
case 0:
if (ftype == apache::thrift::protocol::T_LIST) {
{
this->success.clear();
uint32_t _size30;
apache::thrift::protocol::TType _etype33;
xfer += iprot->readListBegin(_etype33, _size30);
this->success.resize(_size30);
uint32_t _i34;
for (_i34 = 0; _i34 < _size30; ++_i34)
{
int32_t ecast35;
xfer += iprot->readI32(ecast35);
this->success[_i34] = (ResultCode)ecast35;
}
xfer += iprot->readListEnd();
}
this->__isset.success = true;
} else {
xfer += iprot->skip(ftype);
}
break;
default:
xfer += iprot->skip(ftype);
break;
}
xfer += iprot->readFieldEnd();
}
xfer += iprot->readStructEnd();
return xfer;
}
uint32_t scribe_LogMulti_result::write(apache::thrift::protocol::TProtocol* oprot) const {
uint32_t xfer = 0;
xfer += oprot->writeStructBegin("scribe_LogMulti_result");
if (this->__isset.success) {
xfer += oprot->writeFieldBegin("success", apache::thrift::protocol::T_LIST, 0);
{
xfer += oprot->writeListBegin(apache::thrift::protocol::T_I32, this->success.size());
std::vector<ResultCode> ::const_iterator _iter36;
for (_iter36 = this->success.begin(); _iter36 != this->success.end(); ++_iter36)
{
xfer += oprot->writeI32((int32_t)(*_iter36));
}
xfer += oprot->writeListEnd();
}
xfer += oprot->writeFieldEnd();
}
xfer += oprot->writeFieldStop();
xfer += oprot->writeStructEnd();
return xfer;
}
uint32_t scribe_LogMulti_presult::read(apache::thrift::protocol::TProtocol* iprot) {
uint32_t xfer = 0;
std::string fname;
apache::thrift::protocol::TType ftype;
int16_t fid;
xfer += iprot->readStructBegin(fname);
using apache::thrift::protocol::TProtocolException;
while (true)
{
xfer += iprot->readFieldBegin(fname, ftype, fid);
if (ftype == apache::thrift::protocol::T_STOP) {
break;
}
switch (fid)
{
case 0:
if (ftype == apache::thrift::protocol::T_LIST) {
{
(*(this->success)).clear();
uint32_t _size37;
apache::thrift::protocol::TType _etype40;
xfer += iprot->readListBegin(_etype40, _size37);
(*(this->success)).resize(_size37);
uint32_t _i41;
for (_i41 = 0; _i41 < _size37; ++_i41)
{
int32_t ecast42;
xfer += iprot->readI32(ecast42);
(*(this->success))[_i41] = (ResultCode)ecast42;
}
xfer += iprot->readListEnd();
}
this->__isset.success = true;
} else {
xfer += iprot->skip(ftype);
}
break;
default:
xfer += iprot->skip(ftype);
break;
}
xfer += iprot->readFieldEnd();
}
xfer += iprot->readStructEnd();
return xfer;
}
uint32_t scribe_LogCompressedMsg_args::read(apache::thrift::protocol::TProtocol* iprot) {
uint32_t xfer = 0;
std::string fname;
apache::thrift::protocol::TType ftype;
int16_t fid;
xfer += iprot->readStructBegin(fname);
using apache::thrift::protocol::TProtocolException;
while (true)
{
xfer += iprot->readFieldBegin(fname, ftype, fid);
if (ftype == apache::thrift::protocol::T_STOP) {
break;
}
switch (fid)
{
case 1:
if (ftype == apache::thrift::protocol::T_STRING) {
xfer += iprot->readBinary(this->compressedMessages);
this->__isset.compressedMessages = true;
} else {
xfer += iprot->skip(ftype);
}
break;
default:
xfer += iprot->skip(ftype);
break;
}
xfer += iprot->readFieldEnd();
}
xfer += iprot->readStructEnd();
return xfer;
}
uint32_t scribe_LogCompressedMsg_args::write(apache::thrift::protocol::TProtocol* oprot) const {
uint32_t xfer = 0;
xfer += oprot->writeStructBegin("scribe_LogCompressedMsg_args");
xfer += oprot->writeFieldBegin("compressedMessages", apache::thrift::protocol::T_STRING, 1);
xfer += oprot->writeBinary(this->compressedMessages);
xfer += oprot->writeFieldEnd();
xfer += oprot->writeFieldStop();
xfer += oprot->writeStructEnd();
return xfer;
}
uint32_t scribe_LogCompressedMsg_pargs::write(apache::thrift::protocol::TProtocol* oprot) const {
uint32_t xfer = 0;
xfer += oprot->writeStructBegin("scribe_LogCompressedMsg_pargs");
xfer += oprot->writeFieldBegin("compressedMessages", apache::thrift::protocol::T_STRING, 1);
xfer += oprot->writeBinary((*(this->compressedMessages)));
xfer += oprot->writeFieldEnd();
xfer += oprot->writeFieldStop();
xfer += oprot->writeStructEnd();
return xfer;
}
uint32_t scribe_LogCompressedMsg_result::read(apache::thrift::protocol::TProtocol* iprot) {
uint32_t xfer = 0;
std::string fname;
apache::thrift::protocol::TType ftype;
int16_t fid;
xfer += iprot->readStructBegin(fname);
using apache::thrift::protocol::TProtocolException;
while (true)
{
xfer += iprot->readFieldBegin(fname, ftype, fid);
if (ftype == apache::thrift::protocol::T_STOP) {
break;
}
switch (fid)
{
case 0:
if (ftype == apache::thrift::protocol::T_I32) {
int32_t ecast43;
xfer += iprot->readI32(ecast43);
this->success = (ResultCode)ecast43;
this->__isset.success = true;
} else {
xfer += iprot->skip(ftype);
}
break;
default:
xfer += iprot->skip(ftype);
break;
}
xfer += iprot->readFieldEnd();
}
xfer += iprot->readStructEnd();
return xfer;
}
uint32_t scribe_LogCompressedMsg_result::write(apache::thrift::protocol::TProtocol* oprot) const {
uint32_t xfer = 0;
xfer += oprot->writeStructBegin("scribe_LogCompressedMsg_result");
if (this->__isset.success) {
xfer += oprot->writeFieldBegin("success", apache::thrift::protocol::T_I32, 0);
xfer += oprot->writeI32((int32_t)this->success);
xfer += oprot->writeFieldEnd();
}
xfer += oprot->writeFieldStop();
xfer += oprot->writeStructEnd();
return xfer;
}
uint32_t scribe_LogCompressedMsg_presult::read(apache::thrift::protocol::TProtocol* iprot) {
uint32_t xfer = 0;
std::string fname;
apache::thrift::protocol::TType ftype;
int16_t fid;
xfer += iprot->readStructBegin(fname);
using apache::thrift::protocol::TProtocolException;
while (true)
{
xfer += iprot->readFieldBegin(fname, ftype, fid);
if (ftype == apache::thrift::protocol::T_STOP) {
break;
}
switch (fid)
{
case 0:
if (ftype == apache::thrift::protocol::T_I32) {
int32_t ecast44;
xfer += iprot->readI32(ecast44);
(*(this->success)) = (ResultCode)ecast44;
this->__isset.success = true;
} else {
xfer += iprot->skip(ftype);
}
break;
default:
xfer += iprot->skip(ftype);
break;
}
xfer += iprot->readFieldEnd();
}
xfer += iprot->readStructEnd();
return xfer;
}
int32_t scribeClient::getNextSendSequenceId()
{
return nextSendSequenceId_++;
}
int32_t scribeClient::getNextRecvSequenceId()
{
return nextRecvSequenceId_++;
}
ResultCode scribeClient::Log(const std::vector<LogEntry> & messages)
{
folly::ScopeGuard g = folly::makeGuard([&] { this->clearClientContextStack(); });
this->generateClientContextStack("scribe.Log", NULL);
try {
send_Log(messages);
return recv_Log();
} catch(apache::thrift::transport::TTransportException& ex) {
this->handlerError(this->getClientContextStack(), "scribe.Log");
iprot_->getTransport()->close();
oprot_->getTransport()->close();
throw;
} catch(apache::thrift::TApplicationException& ex) {
if (ex.getType() == apache::thrift::TApplicationException::BAD_SEQUENCE_ID) {
this->handlerError(this->getClientContextStack(), "scribe.Log");
iprot_->getTransport()->close();
oprot_->getTransport()->close();
}
throw;
}
}
void scribeClient::send_Log(const std::vector<LogEntry> & messages)
{
apache::thrift::ContextStack* ctx = this->getClientContextStack();
this->preWrite(ctx, "scribe.Log");
oprot_->writeMessageBegin("Log", apache::thrift::protocol::T_CALL, getNextSendSequenceId());
scribe_Log_pargs args;
args.messages = &messages;
args.write(oprot_);
oprot_->writeMessageEnd();
uint32_t _bytes45 = oprot_->getTransport()->writeEnd();
oprot_->getTransport()->flush();
this->postWrite(ctx, "scribe.Log", _bytes45);
return;
}
ResultCode scribeClient::recv_Log()
{
apache::thrift::ContextStack* ctx = this->getClientContextStack();
uint32_t bytes;
int32_t rseqid = 0;
int32_t eseqid = getNextRecvSequenceId();
std::string fname;
apache::thrift::protocol::TMessageType mtype;
this->preRead(ctx, "scribe.Log");
iprot_->readMessageBegin(fname, mtype, rseqid);
if (this->checkSeqid_ && rseqid != eseqid) {
iprot_->skip(apache::thrift::protocol::T_STRUCT);
iprot_->readMessageEnd();
iprot_->getTransport()->readEnd();
throw apache::thrift::TApplicationException(apache::thrift::TApplicationException::BAD_SEQUENCE_ID);
}
if (mtype == apache::thrift::protocol::T_EXCEPTION) {
apache::thrift::TApplicationException x;
x.read(iprot_);
iprot_->readMessageEnd();
iprot_->getTransport()->readEnd();
throw x;
}
if (mtype != apache::thrift::protocol::T_REPLY) {
iprot_->skip(apache::thrift::protocol::T_STRUCT);
iprot_->readMessageEnd();
iprot_->getTransport()->readEnd();
throw apache::thrift::TApplicationException(apache::thrift::TApplicationException::INVALID_MESSAGE_TYPE);
}
if (fname.compare("Log") != 0) {
iprot_->skip(apache::thrift::protocol::T_STRUCT);
iprot_->readMessageEnd();
iprot_->getTransport()->readEnd();
throw apache::thrift::TApplicationException(apache::thrift::TApplicationException::WRONG_METHOD_NAME);
}
ResultCode _return;
scribe_Log_presult result;
result.success = &_return;
result.read(iprot_);
iprot_->readMessageEnd();
bytes = iprot_->getTransport()->readEnd();
this->postRead(ctx, "scribe.Log", bytes);
if (result.__isset.success) {
return _return;
}
throw apache::thrift::TApplicationException(apache::thrift::TApplicationException::MISSING_RESULT, "Log failed: unknown result");
}
void scribeClient::LogMulti(std::vector<ResultCode> & _return, const std::vector<LogEntry> & messages)
{
folly::ScopeGuard g = folly::makeGuard([&] { this->clearClientContextStack(); });
this->generateClientContextStack("scribe.LogMulti", NULL);
try {
send_LogMulti(messages);
recv_LogMulti(_return);
} catch(apache::thrift::transport::TTransportException& ex) {
this->handlerError(this->getClientContextStack(), "scribe.LogMulti");
iprot_->getTransport()->close();
oprot_->getTransport()->close();
throw;
} catch(apache::thrift::TApplicationException& ex) {
if (ex.getType() == apache::thrift::TApplicationException::BAD_SEQUENCE_ID) {
this->handlerError(this->getClientContextStack(), "scribe.LogMulti");
iprot_->getTransport()->close();
oprot_->getTransport()->close();
}
throw;
}
}
void scribeClient::send_LogMulti(const std::vector<LogEntry> & messages)
{
apache::thrift::ContextStack* ctx = this->getClientContextStack();
this->preWrite(ctx, "scribe.LogMulti");
oprot_->writeMessageBegin("LogMulti", apache::thrift::protocol::T_CALL, getNextSendSequenceId());
scribe_LogMulti_pargs args;
args.messages = &messages;
args.write(oprot_);
oprot_->writeMessageEnd();
uint32_t _bytes46 = oprot_->getTransport()->writeEnd();
oprot_->getTransport()->flush();
this->postWrite(ctx, "scribe.LogMulti", _bytes46);
return;
}
void scribeClient::recv_LogMulti(std::vector<ResultCode> & _return)
{
apache::thrift::ContextStack* ctx = this->getClientContextStack();
uint32_t bytes;
int32_t rseqid = 0;
int32_t eseqid = getNextRecvSequenceId();
std::string fname;
apache::thrift::protocol::TMessageType mtype;
this->preRead(ctx, "scribe.LogMulti");
iprot_->readMessageBegin(fname, mtype, rseqid);
if (this->checkSeqid_ && rseqid != eseqid) {
iprot_->skip(apache::thrift::protocol::T_STRUCT);
iprot_->readMessageEnd();
iprot_->getTransport()->readEnd();
throw apache::thrift::TApplicationException(apache::thrift::TApplicationException::BAD_SEQUENCE_ID);
}
if (mtype == apache::thrift::protocol::T_EXCEPTION) {
apache::thrift::TApplicationException x;
x.read(iprot_);
iprot_->readMessageEnd();
iprot_->getTransport()->readEnd();
throw x;
}
if (mtype != apache::thrift::protocol::T_REPLY) {
iprot_->skip(apache::thrift::protocol::T_STRUCT);
iprot_->readMessageEnd();
iprot_->getTransport()->readEnd();
throw apache::thrift::TApplicationException(apache::thrift::TApplicationException::INVALID_MESSAGE_TYPE);
}
if (fname.compare("LogMulti") != 0) {
iprot_->skip(apache::thrift::protocol::T_STRUCT);
iprot_->readMessageEnd();
iprot_->getTransport()->readEnd();
throw apache::thrift::TApplicationException(apache::thrift::TApplicationException::WRONG_METHOD_NAME);
}
scribe_LogMulti_presult result;
result.success = &_return;
result.read(iprot_);
iprot_->readMessageEnd();
bytes = iprot_->getTransport()->readEnd();
this->postRead(ctx, "scribe.LogMulti", bytes);
if (result.__isset.success) {
// _return pointer has now been filled
return;
}
throw apache::thrift::TApplicationException(apache::thrift::TApplicationException::MISSING_RESULT, "LogMulti failed: unknown result");
}
ResultCode scribeClient::LogCompressedMsg(const std::string& compressedMessages)
{
folly::ScopeGuard g = folly::makeGuard([&] { this->clearClientContextStack(); });
this->generateClientContextStack("scribe.LogCompressedMsg", NULL);
try {
send_LogCompressedMsg(compressedMessages);
return recv_LogCompressedMsg();
} catch(apache::thrift::transport::TTransportException& ex) {
this->handlerError(this->getClientContextStack(), "scribe.LogCompressedMsg");
iprot_->getTransport()->close();
oprot_->getTransport()->close();
throw;
} catch(apache::thrift::TApplicationException& ex) {
if (ex.getType() == apache::thrift::TApplicationException::BAD_SEQUENCE_ID) {
this->handlerError(this->getClientContextStack(), "scribe.LogCompressedMsg");
iprot_->getTransport()->close();
oprot_->getTransport()->close();
}
throw;
}
}
void scribeClient::send_LogCompressedMsg(const std::string& compressedMessages)
{
apache::thrift::ContextStack* ctx = this->getClientContextStack();
this->preWrite(ctx, "scribe.LogCompressedMsg");
oprot_->writeMessageBegin("LogCompressedMsg", apache::thrift::protocol::T_CALL, getNextSendSequenceId());
scribe_LogCompressedMsg_pargs args;
args.compressedMessages = &compressedMessages;
args.write(oprot_);
oprot_->writeMessageEnd();
uint32_t _bytes47 = oprot_->getTransport()->writeEnd();
oprot_->getTransport()->flush();
this->postWrite(ctx, "scribe.LogCompressedMsg", _bytes47);
return;
}
ResultCode scribeClient::recv_LogCompressedMsg()
{
apache::thrift::ContextStack* ctx = this->getClientContextStack();
uint32_t bytes;
int32_t rseqid = 0;
int32_t eseqid = getNextRecvSequenceId();
std::string fname;
apache::thrift::protocol::TMessageType mtype;
this->preRead(ctx, "scribe.LogCompressedMsg");
iprot_->readMessageBegin(fname, mtype, rseqid);
if (this->checkSeqid_ && rseqid != eseqid) {
iprot_->skip(apache::thrift::protocol::T_STRUCT);
iprot_->readMessageEnd();
iprot_->getTransport()->readEnd();
throw apache::thrift::TApplicationException(apache::thrift::TApplicationException::BAD_SEQUENCE_ID);
}
if (mtype == apache::thrift::protocol::T_EXCEPTION) {
apache::thrift::TApplicationException x;
x.read(iprot_);
iprot_->readMessageEnd();
iprot_->getTransport()->readEnd();
throw x;
}
if (mtype != apache::thrift::protocol::T_REPLY) {
iprot_->skip(apache::thrift::protocol::T_STRUCT);
iprot_->readMessageEnd();
iprot_->getTransport()->readEnd();
throw apache::thrift::TApplicationException(apache::thrift::TApplicationException::INVALID_MESSAGE_TYPE);
}
if (fname.compare("LogCompressedMsg") != 0) {
iprot_->skip(apache::thrift::protocol::T_STRUCT);
iprot_->readMessageEnd();
iprot_->getTransport()->readEnd();
throw apache::thrift::TApplicationException(apache::thrift::TApplicationException::WRONG_METHOD_NAME);
}
ResultCode _return;
scribe_LogCompressedMsg_presult result;
result.success = &_return;
result.read(iprot_);
iprot_->readMessageEnd();
bytes = iprot_->getTransport()->readEnd();
this->postRead(ctx, "scribe.LogCompressedMsg", bytes);
if (result.__isset.success) {
return _return;
}
throw apache::thrift::TApplicationException(apache::thrift::TApplicationException::MISSING_RESULT, "LogCompressedMsg failed: unknown result");
}
bool scribeProcessor::dispatchCall(::apache::thrift::protocol::TProtocol* iprot, ::apache::thrift::protocol::TProtocol* oprot, const std::string& fname, int32_t seqid, apache::thrift::server::TConnectionContext* connectionContext) {
ProcessMap::iterator pfn;
pfn = processMap_.find(fname);
if (pfn == processMap_.end()) {
iprot->skip(apache::thrift::protocol::T_STRUCT);
iprot->readMessageEnd();
iprot->getTransport()->readEnd();
apache::thrift::TApplicationException x(apache::thrift::TApplicationException::UNKNOWN_METHOD, "Invalid method name: '"+fname+"'");
oprot->writeMessageBegin(fname, apache::thrift::protocol::T_EXCEPTION, seqid);
x.write(oprot);
oprot->writeMessageEnd();
oprot->getTransport()->writeEnd();
oprot->getTransport()->flush();
return true;
}
const ProcessFunction& pf = pfn->second;
(this->*pf)(seqid, iprot, oprot, connectionContext);
return true;
}
void scribeProcessor::process_Log(int32_t seqid, apache::thrift::protocol::TProtocol* iprot, apache::thrift::protocol::TProtocol* oprot, apache::thrift::server::TConnectionContext* connectionContext)
{
std::unique_ptr<apache::thrift::ContextStack> ctx(this->getContextStack("scribe.Log", connectionContext));
this->preRead(ctx.get(), "scribe.Log");
scribe_Log_args args;
args.read(iprot);
iprot->readMessageEnd();
uint32_t bytes = iprot->getTransport()->readEnd();
this->postRead(ctx.get(), "scribe.Log", bytes);
scribe_Log_result result;
try {
result.success = iface_->Log(args.messages);
result.__isset.success = true;
} catch (const std::exception& e) {
this->handlerError(ctx.get(), "scribe.Log");
apache::thrift::TApplicationException x(e.what());
oprot->writeMessageBegin("Log", apache::thrift::protocol::T_EXCEPTION, seqid);
x.write(oprot);
oprot->writeMessageEnd();
oprot->getTransport()->writeEnd();
oprot->getTransport()->flush();
return;
}
this->preWrite(ctx.get(), "scribe.Log");
oprot->writeMessageBegin("Log", apache::thrift::protocol::T_REPLY, seqid);
result.write(oprot);
oprot->writeMessageEnd();
bytes = oprot->getTransport()->writeEnd();
oprot->getTransport()->flush();
this->postWrite(ctx.get(), "scribe.Log", bytes);
}
void scribeProcessor::process_LogMulti(int32_t seqid, apache::thrift::protocol::TProtocol* iprot, apache::thrift::protocol::TProtocol* oprot, apache::thrift::server::TConnectionContext* connectionContext)
{
std::unique_ptr<apache::thrift::ContextStack> ctx(this->getContextStack("scribe.LogMulti", connectionContext));
this->preRead(ctx.get(), "scribe.LogMulti");
scribe_LogMulti_args args;
args.read(iprot);
iprot->readMessageEnd();
uint32_t bytes = iprot->getTransport()->readEnd();
this->postRead(ctx.get(), "scribe.LogMulti", bytes);
scribe_LogMulti_result result;
try {
iface_->LogMulti(result.success, args.messages);
result.__isset.success = true;
} catch (const std::exception& e) {
this->handlerError(ctx.get(), "scribe.LogMulti");
apache::thrift::TApplicationException x(e.what());
oprot->writeMessageBegin("LogMulti", apache::thrift::protocol::T_EXCEPTION, seqid);
x.write(oprot);
oprot->writeMessageEnd();
oprot->getTransport()->writeEnd();
oprot->getTransport()->flush();
return;
}
this->preWrite(ctx.get(), "scribe.LogMulti");
oprot->writeMessageBegin("LogMulti", apache::thrift::protocol::T_REPLY, seqid);
result.write(oprot);
oprot->writeMessageEnd();
bytes = oprot->getTransport()->writeEnd();
oprot->getTransport()->flush();
this->postWrite(ctx.get(), "scribe.LogMulti", bytes);
}
void scribeProcessor::process_LogCompressedMsg(int32_t seqid, apache::thrift::protocol::TProtocol* iprot, apache::thrift::protocol::TProtocol* oprot, apache::thrift::server::TConnectionContext* connectionContext)
{
std::unique_ptr<apache::thrift::ContextStack> ctx(this->getContextStack("scribe.LogCompressedMsg", connectionContext));
this->preRead(ctx.get(), "scribe.LogCompressedMsg");
scribe_LogCompressedMsg_args args;
args.read(iprot);
iprot->readMessageEnd();
uint32_t bytes = iprot->getTransport()->readEnd();
this->postRead(ctx.get(), "scribe.LogCompressedMsg", bytes);
scribe_LogCompressedMsg_result result;
try {
result.success = iface_->LogCompressedMsg(args.compressedMessages);
result.__isset.success = true;
} catch (const std::exception& e) {
this->handlerError(ctx.get(), "scribe.LogCompressedMsg");
apache::thrift::TApplicationException x(e.what());
oprot->writeMessageBegin("LogCompressedMsg", apache::thrift::protocol::T_EXCEPTION, seqid);
x.write(oprot);
oprot->writeMessageEnd();
oprot->getTransport()->writeEnd();
oprot->getTransport()->flush();
return;
}
this->preWrite(ctx.get(), "scribe.LogCompressedMsg");
oprot->writeMessageBegin("LogCompressedMsg", apache::thrift::protocol::T_REPLY, seqid);
result.write(oprot);
oprot->writeMessageEnd();
bytes = oprot->getTransport()->writeEnd();
oprot->getTransport()->flush();
this->postWrite(ctx.get(), "scribe.LogCompressedMsg", bytes);
}
::boost::shared_ptr< ::apache::thrift::TProcessor > scribeProcessorFactory::getProcessor(::apache::thrift::server::TConnectionContext* ctx) {
::apache::thrift::ReleaseHandler< scribeIfFactory > cleanup(handlerFactory_);
::boost::shared_ptr< scribeIf > handler(handlerFactory_->getHandler(ctx), cleanup);
::boost::shared_ptr< ::apache::thrift::TProcessor > processor(new scribeProcessor(handler));
return processor;
}
} // namespace