20 #include <ripple/overlay/Message.h>
21 #include <ripple/overlay/impl/TrafficCount.h>
27 ::google::protobuf::Message
const& message,
30 : category_(
TrafficCount::categorize(message, type, false))
31 , validatorKey_(validator)
37 assert(messageBytes != 0);
43 if (messageBytes != 0)
53 #if defined(GOOGLE_PROTOBUF_VERSION) && (GOOGLE_PROTOBUF_VERSION >= 3011000)
54 return message.ByteSizeLong();
56 return message.ByteSize();
75 bool const compressible = [&] {
76 if (messageBytes <= 70)
80 case protocol::mtMANIFESTS:
81 case protocol::mtENDPOINTS:
82 case protocol::mtTRANSACTION:
83 case protocol::mtGET_LEDGER:
84 case protocol::mtLEDGER_DATA:
85 case protocol::mtGET_OBJECTS:
86 case protocol::mtVALIDATORLIST:
87 case protocol::mtVALIDATORLISTCOLLECTION:
88 case protocol::mtREPLAY_DELTA_RESPONSE:
89 case protocol::mtTRANSACTIONS:
91 case protocol::mtPING:
92 case protocol::mtCLUSTER:
93 case protocol::mtPROPOSE_LEDGER:
94 case protocol::mtSTATUS_CHANGE:
95 case protocol::mtHAVE_SET:
96 case protocol::mtVALIDATION:
97 case protocol::mtGET_PEER_SHARD_INFO:
98 case protocol::mtPEER_SHARD_INFO:
99 case protocol::mtPROOF_PATH_REQ:
100 case protocol::mtPROOF_PATH_RESPONSE:
101 case protocol::mtREPLAY_DELTA_REQ:
102 case protocol::mtGET_PEER_SHARD_INFO_V2:
103 case protocol::mtPEER_SHARD_INFO_V2:
104 case protocol::mtHAVE_TRANSACTIONS:
185 (size >> 24) & 0x0F);
191 pack(
in, payloadBytes);
196 if (compression != Algorithm::None)
198 pack(
in, uncompressedBytes);
226 int type = (
static_cast<int>(*(
in + 4)) << 8) + *(
in + 5);