318 Buffers
const& buffers,
324 auto const size = boost::asio::buffer_size(buffers);
351 if (!handler.compressionEnabled() &&
360 if (header->total_wire_size > size)
362 hint = header->total_wire_size - size;
368 switch (header->message_type)
370 case protocol::mtMANIFESTS:
371 success = detail::invoke<protocol::TMManifests>(
372 *header, buffers, handler);
374 case protocol::mtPING:
376 detail::invoke<protocol::TMPing>(*header, buffers, handler);
378 case protocol::mtCLUSTER:
380 detail::invoke<protocol::TMCluster>(*header, buffers, handler);
382 case protocol::mtENDPOINTS:
383 success = detail::invoke<protocol::TMEndpoints>(
384 *header, buffers, handler);
386 case protocol::mtTRANSACTION:
387 success = detail::invoke<protocol::TMTransaction>(
388 *header, buffers, handler);
390 case protocol::mtGET_LEDGER:
391 success = detail::invoke<protocol::TMGetLedger>(
392 *header, buffers, handler);
394 case protocol::mtLEDGER_DATA:
395 success = detail::invoke<protocol::TMLedgerData>(
396 *header, buffers, handler);
398 case protocol::mtPROPOSE_LEDGER:
399 success = detail::invoke<protocol::TMProposeSet>(
400 *header, buffers, handler);
402 case protocol::mtSTATUS_CHANGE:
403 success = detail::invoke<protocol::TMStatusChange>(
404 *header, buffers, handler);
406 case protocol::mtHAVE_SET:
407 success = detail::invoke<protocol::TMHaveTransactionSet>(
408 *header, buffers, handler);
410 case protocol::mtVALIDATION:
411 success = detail::invoke<protocol::TMValidation>(
412 *header, buffers, handler);
414 case protocol::mtVALIDATORLIST:
415 success = detail::invoke<protocol::TMValidatorList>(
416 *header, buffers, handler);
418 case protocol::mtVALIDATORLISTCOLLECTION:
419 success = detail::invoke<protocol::TMValidatorListCollection>(
420 *header, buffers, handler);
422 case protocol::mtGET_OBJECTS:
423 success = detail::invoke<protocol::TMGetObjectByHash>(
424 *header, buffers, handler);
426 case protocol::mtHAVE_TRANSACTIONS:
427 success = detail::invoke<protocol::TMHaveTransactions>(
428 *header, buffers, handler);
430 case protocol::mtTRANSACTIONS:
431 success = detail::invoke<protocol::TMTransactions>(
432 *header, buffers, handler);
434 case protocol::mtSQUELCH:
436 detail::invoke<protocol::TMSquelch>(*header, buffers, handler);
438 case protocol::mtPROOF_PATH_REQ:
439 success = detail::invoke<protocol::TMProofPathRequest>(
440 *header, buffers, handler);
442 case protocol::mtPROOF_PATH_RESPONSE:
443 success = detail::invoke<protocol::TMProofPathResponse>(
444 *header, buffers, handler);
446 case protocol::mtREPLAY_DELTA_REQ:
447 success = detail::invoke<protocol::TMReplayDeltaRequest>(
448 *header, buffers, handler);
450 case protocol::mtREPLAY_DELTA_RESPONSE:
451 success = detail::invoke<protocol::TMReplayDeltaResponse>(
452 *header, buffers, handler);
455 handler.onMessageUnknown(header->message_type);
460 result.
first = header->total_wire_size;