예제 #1
0
uint32_t TDebugProtocol::writeMapBegin(const TType keyType,
                                       const TType valType,
                                       const uint32_t size) {
  // TODO(dreiss): Optimize short maps?
  uint32_t bsize = 0;
  bsize += startItem();
  bsize += writePlain(
      "map<" + fieldTypeName(keyType) + "," + fieldTypeName(valType) + ">"
      "[" + boost::lexical_cast<string>(size) + "] {\n");
  indentUp();
  write_state_.push_back(MAP_KEY);
  return bsize;
}
예제 #2
0
uint32_t TDebugProtocol::writeMessageBegin(const std::string& name,
                                           const TMessageType messageType,
                                           const int32_t seqid) {
  string mtype;
  switch (messageType) {
    case T_CALL      : mtype = "call"  ; break;
    case T_REPLY     : mtype = "reply" ; break;
    case T_EXCEPTION : mtype = "exn"   ; break;
    case T_ONEWAY    : mtype = "oneway"; break;
  }

  uint32_t size = writeIndented("(" + mtype + ") " + name + "(");
  indentUp();
  return size;
}
예제 #3
0
uint32_t DebugProtocolWriter::writeMessageBegin(const std::string& name,
                                                MessageType messageType,
                                                int32_t seqid) {
  std::string mtype;
  switch (messageType) {
  case T_CALL:      mtype = "call";   break;
  case T_REPLY:     mtype = "reply";  break;
  case T_EXCEPTION: mtype = "exn";    break;
  case T_ONEWAY:    mtype = "oneway"; break;
  }

  writeIndented("({}) {}(", mtype, name);
  indentUp();
  return 0;
}
예제 #4
0
void DebugProtocolWriter::pushState(ItemType t) {
  indentUp();
  writeState_.push_back(t);
}