int send(int fd, const std::string& name, const ::google::protobuf::Message& message, uint64_t mid) { SocketWriter writer(fd); Version_1_Protocol protocol; Msg msg; message.SerializeToString(msg.mutable_content()); msg.set_mid(mid); msg.set_name(name); int ret = protocol.encode(msg, &writer); if (ret) { LOG_WARN << "encode request error, method[" << name << "] data[" << message.DebugString()<< "]"; return 1; } return writer.write(1000) == SocketWriter::kOk ? 0 : -1; }