Improve logging for the request-response protocol (#14596)

Co-authored-by: parity-processbot <>
This commit is contained in:
Aaro Altonen
2023-07-20 10:40:52 +03:00
committed by GitHub
parent daa9ecf77d
commit 6ee66e9895
@@ -373,6 +373,8 @@ impl RequestResponsesBehaviour {
pending_response: oneshot::Sender<Result<Vec<u8>, RequestFailure>>,
connect: IfDisconnected,
) {
log::trace!(target: "sub-libp2p", "send request to {target} ({protocol_name:?}), {} bytes", request.len());
if let Some((protocol, _)) = self.protocols.get_mut(protocol_name) {
if protocol.is_connected(target) || connect.should_connect() {
let request_id = protocol.send_request(target, request);
@@ -616,6 +618,8 @@ impl NetworkBehaviour for RequestResponsesBehaviour {
continue 'poll_all
}
log::trace!(target: "sub-libp2p", "request received from {peer} ({protocol:?}), {} bytes", request.len());
let (tx, rx) = oneshot::channel();
// Submit the request to the "response builder" passed by the user at
@@ -675,6 +679,8 @@ impl NetworkBehaviour for RequestResponsesBehaviour {
if let Ok(payload) = result {
if let Some((protocol, _)) = self.protocols.get_mut(&*protocol_name) {
log::trace!(target: "sub-libp2p", "send response to {peer} ({protocol_name:?}), {} bytes", payload.len());
if protocol.send_response(inner_channel, Ok(payload)).is_err() {
// Note: Failure is handled further below when receiving
// `InboundFailure` event from request-response [`Behaviour`].
@@ -770,6 +776,12 @@ impl NetworkBehaviour for RequestResponsesBehaviour {
.remove(&(protocol.clone(), request_id).into())
{
Some((started, pending_response)) => {
log::trace!(
target: "sub-libp2p",
"received response from {peer} ({protocol:?}), {} bytes",
response.as_ref().map_or(0usize, |response| response.len()),
);
let delivered = pending_response
.send(response.map_err(|()| RequestFailure::Refused))
.map_err(|_| RequestFailure::Obsolete);