litep2p icon indicating copy to clipboard operation
litep2p copied to clipboard

How to keep connection while waiting for Response

Open Ma233 opened this issue 1 year ago • 6 comments

Hello, I am working on a project that using litep2p with its RequestResponse protocol.

I found that the connection will be closed if a response is not sent within 5 seconds.

I have tested both TcpTransport and QuicTransport, and they are all like this.

I am uncertain whether this relates to the issue https://github.com/paritytech/litep2p/issues/131.

Is there a correct way to keep an open connection until it respond a response? It could be manually closed if neccessary.

Ma233 avatar Jun 14 '24 08:06 Ma233

Hi, just to double check, did you try configuring the request-response protocol with a custom timeout? https://github.com/paritytech/litep2p/blob/ebb5f2dc89a65b7b4c67b592c9312f874be4c0fc/src/protocol/request_response/config.rs#L143

It's set by default to 5 seconds.

dmitry-markin avatar Jun 14 '24 09:06 dmitry-markin

@dmitry-markin Hi, thanks for your reminder, I have now added this configuration. But there are still disconnections.

After setting the log level to trace, I found a "keep-alive timeout exceeded, downgrading connection" message. I believe this could be the reason.

Ma233 avatar Jun 14 '24 13:06 Ma233

Yeah, I see, the connection is downgraded if no substream is opened within 5 seconds after creating the connection. This is strange yours get closed, because sending a request over request-response protocol opens a substream.

Are you sure you send a request within 5 seconds of opening the connection? Do you know you can let litep2p establish a connection for you when sending a request using DialOptions::Dial?

dmitry-markin avatar Jun 14 '24 14:06 dmitry-markin

@dmitry-markin I'm sure because the connection is created by invoking send_request. (I added peer multiaddr before send_request.)

        let request_id = self
            .p2p_server
            .request_response_handle
            .send_request(peer_id, request_data, DialOptions::Dial)
            .await?;
I'm pasting logs of response side peer here.
2024-06-14T14:52:30.459694Z DEBUG litep2p::tcp::connection: accept connection address=127.0.0.1:10010
2024-06-14T14:52:30.459761Z TRACE litep2p::tcp::connection: negotiate connection role=Listener
2024-06-14T14:52:30.459790Z TRACE litep2p::tcp::connection: negotiating protocols protocols=["/noise"]
2024-06-14T14:52:30.460823Z TRACE litep2p::multistream-select: Received message: Header(V1)
2024-06-14T14:52:30.460972Z TRACE litep2p::multistream-select: Received message: Protocol(Protocol(b"/noise"))
2024-06-14T14:52:30.461028Z DEBUG litep2p::multistream_select::listener_select: Listener: confirming protocol: /noise
2024-06-14T14:52:30.461096Z DEBUG litep2p::multistream_select::listener_select: Listener: sent confirmed protocol: /noise
2024-06-14T14:52:30.461106Z TRACE litep2p::tcp::connection: protocol negotiated protocol="/noise"
2024-06-14T14:52:30.461163Z TRACE litep2p::tcp::connection: `multistream-select` and `noise` negotiated
2024-06-14T14:52:30.461185Z DEBUG litep2p::crypto::noise: start noise handshake role=Listener
2024-06-14T14:52:30.461207Z TRACE litep2p::crypto::noise: create new noise configuration role=Listener
2024-06-14T14:52:30.463423Z TRACE litep2p::crypto::noise: get noise paylod message
2024-06-14T14:52:30.466710Z TRACE litep2p::tcp::connection: noise handshake done
2024-06-14T14:52:30.466736Z TRACE litep2p::tcp::connection: negotiating protocols protocols=["/yamux/1.0.0"]
2024-06-14T14:52:30.466787Z TRACE litep2p::crypto::noise: read data from socket nread=52
2024-06-14T14:52:30.466797Z TRACE litep2p::crypto::noise: current frame size = 50
2024-06-14T14:52:30.466836Z TRACE litep2p::multistream-select: Received message: Header(V1)
2024-06-14T14:52:30.466885Z TRACE litep2p::multistream-select: Received message: Protocol(Protocol(b"/yamux/1.0.0"))
2024-06-14T14:52:30.466894Z DEBUG litep2p::multistream_select::listener_select: Listener: confirming protocol: /yamux/1.0.0
2024-06-14T14:52:30.466908Z DEBUG litep2p::multistream_select::listener_select: Listener: sent confirmed protocol: /yamux/1.0.0
2024-06-14T14:52:30.466917Z TRACE litep2p::tcp::connection: protocol negotiated protocol="/yamux/1.0.0"
2024-06-14T14:52:30.468269Z TRACE litep2p::tcp::connection: `yamux` negotiated
2024-06-14T14:52:30.468424Z DEBUG litep2p::yamux: new connection: 3137a751 (Server)
2024-06-14T14:52:30.468732Z TRACE litep2p::transport-manager: accept connection peer=PeerId("12D3KooWDf8LJbVU4PLdfWvyLGpTDwXmRe1XTRWpAVB2rEqzZJJW") endpoint=Listener { address: "/ip4/127.0.0.1/tcp/10010", connection_id: ConnectionId(0) }
2024-06-14T14:52:30.468859Z TRACE litep2p::tcp: start connection connection_id=ConnectionId(0)
2024-06-14T14:52:30.469097Z TRACE litep2p::yamux: 3137a751: write: (WriteState::Init)
2024-06-14T14:52:30.469104Z TRACE litep2p::yamux: 3137a751: write: (WriteState::Init)
2024-06-14T14:52:30.469132Z TRACE litep2p::yamux: 3137a751: read: (ReadState::Init)
2024-06-14T14:52:30.469136Z TRACE litep2p::yamux: 3137a751: read: (ReadState::Header (offset 0))
2024-06-14T14:52:30.469157Z DEBUG litep2p::transport-service: connection established peer=PeerId("12D3KooWDf8LJbVU4PLdfWvyLGpTDwXmRe1XTRWpAVB2rEqzZJJW") protocol=/pproxy/control/1 endpoint=Listener { address: "/ip4/127.0.0.1/tcp/10010", connection_id: ConnectionId(0) } connection_id=ConnectionId(0)
2024-06-14T14:52:30.470540Z TRACE litep2p::crypto::noise: reset read buffer
2024-06-14T14:52:30.470572Z DEBUG litep2p::transport-service: connection established peer=PeerId("12D3KooWDf8LJbVU4PLdfWvyLGpTDwXmRe1XTRWpAVB2rEqzZJJW") protocol=/pproxy/tunnel/1 endpoint=Listener { address: "/ip4/127.0.0.1/tcp/10010", connection_id: ConnectionId(0) } connection_id=ConnectionId(0)
2024-06-14T14:52:30.470587Z DEBUG litep2p::request-response::protocol: connection established peer=PeerId("12D3KooWDf8LJbVU4PLdfWvyLGpTDwXmRe1XTRWpAVB2rEqzZJJW") protocol=/pproxy/control/1
2024-06-14T14:52:30.471952Z DEBUG litep2p::request-response::protocol: connection established peer=PeerId("12D3KooWDf8LJbVU4PLdfWvyLGpTDwXmRe1XTRWpAVB2rEqzZJJW") protocol=/pproxy/tunnel/1
2024-06-14T14:52:30.472663Z TRACE litep2p::yamux: 3137a751: write: (WriteState::Init)
2024-06-14T14:52:30.472674Z TRACE litep2p::yamux: 3137a751: write: (WriteState::Init)
2024-06-14T14:52:30.472679Z TRACE litep2p::yamux: 3137a751: read: (ReadState::Header (offset 0))
2024-06-14T14:52:30.472690Z TRACE litep2p::crypto::noise: read data from socket nread=86
2024-06-14T14:52:30.472696Z TRACE litep2p::crypto::noise: current frame size = 28
2024-06-14T14:52:30.473803Z TRACE litep2p::yamux: 3137a751: read: (ReadState::Header (offset 12))
2024-06-14T14:52:30.473809Z TRACE litep2p::yamux: 3137a751: read: (Header Data 1 (len 38) (flags 1))
2024-06-14T14:52:30.473840Z TRACE litep2p::yamux: 3137a751: read: (ReadState::Body (header (Header Data 1 (len 38) (flags 1))) (offset 0) (buffer-len 38))
2024-06-14T14:52:30.473844Z TRACE litep2p::crypto::noise: current frame size = 54
2024-06-14T14:52:30.473849Z TRACE litep2p::yamux: 3137a751: read: (ReadState::Body (header (Header Data 1 (len 38) (flags 1))) (offset 38) (buffer-len 38))
2024-06-14T14:52:30.473907Z TRACE litep2p::yamux: 3137a751: received: (Header Data 1 (len 38) (flags 1))
2024-06-14T14:52:30.474845Z TRACE litep2p::yamux: 3137a751: new inbound (Stream 3137a751/1) of (Connection 3137a751 Server (streams 1))
2024-06-14T14:52:30.474889Z TRACE litep2p::yamux: 3137a751: write: (WriteState::Init)
2024-06-14T14:52:30.474893Z TRACE litep2p::yamux: 3137a751: write: (WriteState::Init)
2024-06-14T14:52:30.474902Z TRACE litep2p::yamux: 3137a751: read: (ReadState::Init)
2024-06-14T14:52:30.474905Z TRACE litep2p::yamux: 3137a751: read: (ReadState::Header (offset 0))
2024-06-14T14:52:30.474909Z TRACE litep2p::crypto::noise: reset read buffer
2024-06-14T14:52:30.474924Z TRACE litep2p::tcp::connection: accept inbound substream substream_id=SubstreamId(0)
2024-06-14T14:52:30.475871Z TRACE litep2p::tcp::connection: negotiating protocols protocols=["/pproxy/control/1", "/pproxy/tunnel/1"]
2024-06-14T14:52:30.475922Z TRACE litep2p::yamux: 3137a751/1: read 1 bytes
2024-06-14T14:52:30.475928Z TRACE litep2p::yamux: 3137a751/1: read 19 bytes
2024-06-14T14:52:30.475938Z TRACE litep2p::multistream-select: Received message: Header(V1)
2024-06-14T14:52:30.475970Z TRACE litep2p::yamux: 3137a751/1: write 20 bytes
2024-06-14T14:52:30.475974Z TRACE litep2p::yamux: 3137a751/1: update state: (from Open { acknowledged: false } to Open { acknowledged: true } -> Open { acknowledged: true })
2024-06-14T14:52:30.476013Z TRACE litep2p::yamux: 3137a751/1: read 1 bytes
2024-06-14T14:52:30.476899Z TRACE litep2p::yamux: 3137a751/1: read 17 bytes
2024-06-14T14:52:30.476910Z TRACE litep2p::multistream-select: Received message: Protocol(Protocol(b"/pproxy/tunnel/1"))
2024-06-14T14:52:30.476917Z DEBUG litep2p::multistream_select::listener_select: Listener: confirming protocol: /pproxy/tunnel/1
2024-06-14T14:52:30.476930Z TRACE litep2p::yamux: 3137a751/1: write 18 bytes
2024-06-14T14:52:30.476936Z DEBUG litep2p::multistream_select::listener_select: Listener: sent confirmed protocol: /pproxy/tunnel/1
2024-06-14T14:52:30.476947Z TRACE litep2p::tcp::connection: protocol negotiated protocol="/pproxy/tunnel/1"
2024-06-14T14:52:30.477825Z TRACE litep2p::tcp::connection: substream accepted and negotiated substream_id=SubstreamId(0)
2024-06-14T14:52:30.477856Z TRACE litep2p::substream: create new substream for tcp peer=PeerId("12D3KooWDf8LJbVU4PLdfWvyLGpTDwXmRe1XTRWpAVB2rEqzZJJW") codec=UnsignedVarint(Some(1048576))
2024-06-14T14:52:30.477881Z DEBUG litep2p::protocol-set: substream opened protocol=/pproxy/tunnel/1 peer=PeerId("12D3KooWDf8LJbVU4PLdfWvyLGpTDwXmRe1XTRWpAVB2rEqzZJJW") direction=Inbound
2024-06-14T14:52:30.477912Z TRACE litep2p::yamux: 3137a751: write: (WriteState::Init)
2024-06-14T14:52:30.478777Z TRACE litep2p::yamux: 3137a751: write: (WriteState::Init)
2024-06-14T14:52:30.478818Z TRACE litep2p::yamux: 3137a751/1: sending: (Header Data 1 (len 20) (flags 2))
2024-06-14T14:52:30.478826Z TRACE litep2p::yamux: 3137a751: write: (WriteState::Init)
2024-06-14T14:52:30.478830Z TRACE litep2p::yamux: 3137a751: write: (WriteState::Header (offset 0))
2024-06-14T14:52:30.478863Z TRACE litep2p::yamux: 3137a751: write: (WriteState::Body (offset 0) (buffer-len 20))
2024-06-14T14:52:30.478871Z TRACE litep2p::yamux: 3137a751: write: (WriteState::Init)
2024-06-14T14:52:30.478874Z TRACE litep2p::yamux: 3137a751: write: (WriteState::Init)
2024-06-14T14:52:30.480058Z TRACE litep2p::yamux: 3137a751/1: sending: (Header Data 1 (len 18) (flags 0))
2024-06-14T14:52:30.480064Z TRACE litep2p::yamux: 3137a751: write: (WriteState::Init)
2024-06-14T14:52:30.480068Z TRACE litep2p::yamux: 3137a751: write: (WriteState::Header (offset 0))
2024-06-14T14:52:30.480080Z TRACE litep2p::yamux: 3137a751: write: (WriteState::Body (offset 0) (buffer-len 18))
2024-06-14T14:52:30.480086Z TRACE litep2p::yamux: 3137a751: write: (WriteState::Init)
2024-06-14T14:52:30.480090Z TRACE litep2p::yamux: 3137a751: write: (WriteState::Init)
2024-06-14T14:52:30.481292Z TRACE litep2p::yamux: 3137a751: read: (ReadState::Header (offset 0))
2024-06-14T14:52:30.481367Z TRACE litep2p::request-response::protocol: handle inbound substream peer=PeerId("12D3KooWDf8LJbVU4PLdfWvyLGpTDwXmRe1XTRWpAVB2rEqzZJJW") protocol=/pproxy/tunnel/1
2024-06-14T14:52:30.481411Z TRACE litep2p::yamux: 3137a751: write: (WriteState::Init)
2024-06-14T14:52:30.481423Z TRACE litep2p::yamux: 3137a751: write: (WriteState::Init)
2024-06-14T14:52:30.481430Z TRACE litep2p::yamux: 3137a751: read: (ReadState::Header (offset 0))
2024-06-14T14:52:30.483364Z TRACE litep2p::yamux: 3137a751: write: (WriteState::Init)
2024-06-14T14:52:30.483370Z TRACE litep2p::yamux: 3137a751: write: (WriteState::Init)
2024-06-14T14:52:30.483374Z TRACE litep2p::yamux: 3137a751: read: (ReadState::Header (offset 0))
2024-06-14T14:52:30.483382Z TRACE litep2p::crypto::noise: read data from socket nread=50
2024-06-14T14:52:30.483390Z TRACE litep2p::crypto::noise: current frame size = 28
2024-06-14T14:52:30.483397Z TRACE litep2p::yamux: 3137a751: read: (ReadState::Header (offset 12))
2024-06-14T14:52:30.483400Z TRACE litep2p::yamux: 3137a751: read: (Header Data 1 (len 2) (flags 0))
2024-06-14T14:52:30.483406Z TRACE litep2p::yamux: 3137a751: read: (ReadState::Body (header (Header Data 1 (len 2) (flags 0))) (offset 0) (buffer-len 2))
2024-06-14T14:52:30.484514Z TRACE litep2p::crypto::noise: current frame size = 18
2024-06-14T14:52:30.484521Z TRACE litep2p::yamux: 3137a751: read: (ReadState::Body (header (Header Data 1 (len 2) (flags 0))) (offset 2) (buffer-len 2))
2024-06-14T14:52:30.484526Z TRACE litep2p::yamux: 3137a751: received: (Header Data 1 (len 2) (flags 0))
2024-06-14T14:52:30.484535Z TRACE litep2p::yamux: 3137a751: write: (WriteState::Init)
2024-06-14T14:52:30.484538Z TRACE litep2p::yamux: 3137a751: write: (WriteState::Init)
2024-06-14T14:52:30.484542Z TRACE litep2p::yamux: 3137a751: read: (ReadState::Init)
2024-06-14T14:52:30.485332Z TRACE litep2p::yamux: 3137a751: read: (ReadState::Header (offset 0))
2024-06-14T14:52:30.485337Z TRACE litep2p::crypto::noise: reset read buffer
2024-06-14T14:52:30.485350Z TRACE litep2p::yamux: 3137a751/1: read 1 bytes
2024-06-14T14:52:30.485354Z TRACE litep2p::yamux: 3137a751/1: read 1 bytes
2024-06-14T14:52:30.485403Z TRACE litep2p::yamux: 3137a751: write: (WriteState::Init)
2024-06-14T14:52:30.485407Z TRACE litep2p::yamux: 3137a751: write: (WriteState::Init)
2024-06-14T14:52:30.485410Z TRACE litep2p::yamux: 3137a751: read: (ReadState::Header (offset 0))
2024-06-14T14:52:30.486181Z TRACE litep2p::crypto::noise: read data from socket nread=245
2024-06-14T14:52:30.486186Z TRACE litep2p::crypto::noise: current frame size = 28
2024-06-14T14:52:30.486191Z TRACE litep2p::yamux: 3137a751: read: (ReadState::Header (offset 12))
2024-06-14T14:52:30.486194Z TRACE litep2p::yamux: 3137a751: read: (Header Data 1 (len 197) (flags 0))
2024-06-14T14:52:30.486198Z TRACE litep2p::yamux: 3137a751: read: (ReadState::Body (header (Header Data 1 (len 197) (flags 0))) (offset 0) (buffer-len 197))
2024-06-14T14:52:30.486201Z TRACE litep2p::crypto::noise: current frame size = 213
2024-06-14T14:52:30.486973Z TRACE litep2p::yamux: 3137a751: read: (ReadState::Body (header (Header Data 1 (len 197) (flags 0))) (offset 197) (buffer-len 197))
2024-06-14T14:52:30.486978Z TRACE litep2p::yamux: 3137a751: received: (Header Data 1 (len 197) (flags 0))
2024-06-14T14:52:30.486983Z TRACE litep2p::yamux: 3137a751: write: (WriteState::Init)
2024-06-14T14:52:30.486986Z TRACE litep2p::yamux: 3137a751: write: (WriteState::Init)
2024-06-14T14:52:30.486990Z TRACE litep2p::yamux: 3137a751: read: (ReadState::Init)
2024-06-14T14:52:30.486993Z TRACE litep2p::yamux: 3137a751: read: (ReadState::Header (offset 0))
2024-06-14T14:52:30.487752Z TRACE litep2p::crypto::noise: reset read buffer
2024-06-14T14:52:30.487764Z TRACE litep2p::yamux: 3137a751/1: read 197 bytes
2024-06-14T14:52:30.487791Z TRACE litep2p::request-response::protocol: inbound request peer=PeerId("12D3KooWDf8LJbVU4PLdfWvyLGpTDwXmRe1XTRWpAVB2rEqzZJJW") protocol=/pproxy/tunnel/1 request_id=RequestId(0)
2024-06-14T14:52:35.474650Z TRACE litep2p::transport-service: keep-alive timeout over, downgrade connection peer=PeerId("12D3KooWDf8LJbVU4PLdfWvyLGpTDwXmRe1XTRWpAVB2rEqzZJJW") connection_id=ConnectionId(0)
2024-06-14T14:52:35.474650Z TRACE litep2p::transport-service: keep-alive timeout over, downgrade connection peer=PeerId("12D3KooWDf8LJbVU4PLdfWvyLGpTDwXmRe1XTRWpAVB2rEqzZJJW") connection_id=ConnectionId(0)
2024-06-14T14:52:35.490616Z TRACE litep2p::request-response::handle: send response to peer request_id=RequestId(0)
2024-06-14T14:52:35.490690Z TRACE litep2p::request-response::protocol: send response peer=PeerId("12D3KooWDf8LJbVU4PLdfWvyLGpTDwXmRe1XTRWpAVB2rEqzZJJW") protocol=/pproxy/tunnel/1 request_id=RequestId(0)
2024-06-14T14:52:35.490750Z TRACE litep2p::substream: send framed peer=PeerId("12D3KooWDf8LJbVU4PLdfWvyLGpTDwXmRe1XTRWpAVB2rEqzZJJW") codec=UnsignedVarint(Some(1048576)) frame_len=38
2024-06-14T14:52:35.490781Z TRACE litep2p::yamux: 3137a751/1: write 1 bytes
2024-06-14T14:52:35.490792Z TRACE litep2p::yamux: 3137a751/1: write 38 bytes
2024-06-14T14:52:35.490902Z DEBUG litep2p::tcp::connection: protocols have disconnected, closing connection
2024-06-14T14:52:35.490953Z TRACE litep2p::yamux: 3137a751/1: update state: (from Open { acknowledged: true } to Closed -> Closed)
2024-06-14T14:52:35.490955Z TRACE litep2p::transport-service: primary connection closed peer=PeerId("12D3KooWDf8LJbVU4PLdfWvyLGpTDwXmRe1XTRWpAVB2rEqzZJJW") connection_id=ConnectionId(0)
2024-06-14T14:52:35.491006Z TRACE litep2p::transport-service: primary connection closed peer=PeerId("12D3KooWDf8LJbVU4PLdfWvyLGpTDwXmRe1XTRWpAVB2rEqzZJJW") connection_id=ConnectionId(0)
2024-06-14T14:52:35.491022Z TRACE litep2p::transport-manager: connection closed peer=PeerId("12D3KooWDf8LJbVU4PLdfWvyLGpTDwXmRe1XTRWpAVB2rEqzZJJW") connection_id=ConnectionId(0)
2024-06-14T14:52:35.492048Z DEBUG litep2p::request-response::protocol: connection closed peer=PeerId("12D3KooWDf8LJbVU4PLdfWvyLGpTDwXmRe1XTRWpAVB2rEqzZJJW") protocol=/pproxy/control/1
2024-06-14T14:52:35.492052Z DEBUG litep2p::request-response::protocol: connection closed peer=PeerId("12D3KooWDf8LJbVU4PLdfWvyLGpTDwXmRe1XTRWpAVB2rEqzZJJW") protocol=/pproxy/tunnel/1
And here are the logs of request side.
2024-06-14T14:52:30.439860Z DEBUG server_handshake:FramedWrite::buffer{frame=Settings { flags: (0x0), initial_window_size: 1048576, max_frame_size: 16384, max_header_list_size: 16777216 }}: h2::codec::framed_write: send frame=Settings { flags: (0x0), initial_window_size: 1048576, max_frame_size: 16384, max_header_list_size: 16777216 }
2024-06-14T14:52:30.439913Z TRACE server_handshake:FramedWrite::buffer{frame=Settings { flags: (0x0), initial_window_size: 1048576, max_frame_size: 16384, max_header_list_size: 16777216 }}: h2::frame::settings: encoding SETTINGS; len=18
2024-06-14T14:52:30.439933Z TRACE server_handshake:FramedWrite::buffer{frame=Settings { flags: (0x0), initial_window_size: 1048576, max_frame_size: 16384, max_header_list_size: 16777216 }}: h2::frame::settings: encoding setting; val=InitialWindowSize(1048576)
2024-06-14T14:52:30.440494Z TRACE server_handshake:FramedWrite::buffer{frame=Settings { flags: (0x0), initial_window_size: 1048576, max_frame_size: 16384, max_header_list_size: 16777216 }}: h2::frame::settings: encoding setting; val=MaxFrameSize(16384)
2024-06-14T14:52:30.440509Z TRACE server_handshake:FramedWrite::buffer{frame=Settings { flags: (0x0), initial_window_size: 1048576, max_frame_size: 16384, max_header_list_size: 16777216 }}: h2::frame::settings: encoding setting; val=MaxHeaderListSize(16777216)
2024-06-14T14:52:30.440978Z TRACE server_handshake:FramedWrite::buffer{frame=Settings { flags: (0x0), initial_window_size: 1048576, max_frame_size: 16384, max_header_list_size: 16777216 }}: h2::codec::framed_write: encoded settings rem=27
2024-06-14T14:52:30.441068Z TRACE server_handshake: h2::server: state=Flushing(_)
2024-06-14T14:52:30.441094Z TRACE server_handshake:flush:FramedWrite::flush: h2::codec::framed_write: queued_data_frame=false
2024-06-14T14:52:30.441133Z TRACE server_handshake:flush:FramedWrite::flush: h2::codec::framed_write: flushing buffer
2024-06-14T14:52:30.441163Z TRACE server_handshake: h2::server: flush.poll=Ready
2024-06-14T14:52:30.441217Z TRACE server_handshake: h2::proto::streams::flow_control: inc_window; sz=65535; old=0; new=65535
2024-06-14T14:52:30.441719Z TRACE server_handshake: h2::proto::streams::flow_control: inc_window; sz=65535; old=0; new=65535
2024-06-14T14:52:30.441732Z TRACE server_handshake: h2::proto::streams::prioritize: Prioritize::new; flow=FlowControl { window_size: Window(65535), available: Window(65535) }
2024-06-14T14:52:30.441767Z TRACE server_handshake: h2::server: connection established!
2024-06-14T14:52:30.441782Z TRACE server_handshake: h2::proto::streams::recv: set_target_connection_window; target=1048576; available=65535, reserved=0
2024-06-14T14:52:30.441820Z TRACE server_handshake:Connection{peer=Server}:poll: h2::proto::connection: connection.state=Open
2024-06-14T14:52:30.442312Z TRACE server_handshake:Connection{peer=Server}:poll:FramedRead::poll_next: h2::codec::framed_read: poll
2024-06-14T14:52:30.442357Z TRACE server_handshake:Connection{peer=Server}:poll:FramedRead::poll_next: h2::codec::framed_read: read.bytes=27
2024-06-14T14:52:30.442401Z TRACE server_handshake:Connection{peer=Server}:poll:FramedRead::poll_next:FramedRead::decode_frame{offset=27}: h2::codec::framed_read: decoding frame from 27B
2024-06-14T14:52:30.442427Z TRACE server_handshake:Connection{peer=Server}:poll:FramedRead::poll_next:FramedRead::decode_frame{offset=27}: h2::codec::framed_read: frame.kind=Settings
2024-06-14T14:52:30.442929Z DEBUG server_handshake:Connection{peer=Server}:poll:FramedRead::poll_next: h2::codec::framed_read: received frame=Settings { flags: (0x0), enable_push: 0, initial_window_size: 2097152, max_frame_size: 16384 }
2024-06-14T14:52:30.442964Z TRACE server_handshake:Connection{peer=Server}:poll: h2::proto::connection: recv SETTINGS frame=Settings { flags: (0x0), enable_push: 0, initial_window_size: 2097152, max_frame_size: 16384 }
2024-06-14T14:52:30.443461Z DEBUG server_handshake:Connection{peer=Server}:poll:poll_ready:FramedWrite::buffer{frame=Settings { flags: (0x1: ACK) }}: h2::codec::framed_write: send frame=Settings { flags: (0x1: ACK) }
2024-06-14T14:52:30.443485Z TRACE server_handshake:Connection{peer=Server}:poll:poll_ready:FramedWrite::buffer{frame=Settings { flags: (0x1: ACK) }}: h2::frame::settings: encoding SETTINGS; len=0
2024-06-14T14:52:30.443963Z TRACE server_handshake:Connection{peer=Server}:poll:poll_ready:FramedWrite::buffer{frame=Settings { flags: (0x1: ACK) }}: h2::codec::framed_write: encoded settings rem=9
2024-06-14T14:52:30.443993Z TRACE server_handshake:Connection{peer=Server}:poll:poll_ready: h2::proto::settings: ACK sent; applying settings
2024-06-14T14:52:30.444026Z TRACE server_handshake:Connection{peer=Server}:poll:FramedRead::poll_next: h2::codec::framed_read: poll
2024-06-14T14:52:30.444500Z TRACE server_handshake:Connection{peer=Server}:poll:FramedRead::poll_next: h2::codec::framed_read: read.bytes=13
2024-06-14T14:52:30.444528Z TRACE server_handshake:Connection{peer=Server}:poll:FramedRead::poll_next:FramedRead::decode_frame{offset=13}: h2::codec::framed_read: decoding frame from 13B
2024-06-14T14:52:30.444547Z TRACE server_handshake:Connection{peer=Server}:poll:FramedRead::poll_next:FramedRead::decode_frame{offset=13}: h2::codec::framed_read: frame.kind=WindowUpdate
2024-06-14T14:52:30.445040Z DEBUG server_handshake:Connection{peer=Server}:poll:FramedRead::poll_next: h2::codec::framed_read: received frame=WindowUpdate { stream_id: StreamId(0), size_increment: 5177345 }
2024-06-14T14:52:30.445069Z TRACE server_handshake:Connection{peer=Server}:poll: h2::proto::connection: recv WINDOW_UPDATE frame=WindowUpdate { stream_id: StreamId(0), size_increment: 5177345 }
2024-06-14T14:52:30.445551Z TRACE server_handshake:Connection{peer=Server}:poll: h2::proto::streams::flow_control: inc_window; sz=5177345; old=65535; new=5242880
2024-06-14T14:52:30.445597Z TRACE server_handshake:Connection{peer=Server}:poll:FramedRead::poll_next: h2::codec::framed_read: poll
2024-06-14T14:52:30.445615Z TRACE server_handshake:Connection{peer=Server}:poll:FramedRead::poll_next: h2::codec::framed_read: read.bytes=92
2024-06-14T14:52:30.445639Z TRACE server_handshake:Connection{peer=Server}:poll:FramedRead::poll_next:FramedRead::decode_frame{offset=92}: h2::codec::framed_read: decoding frame from 92B
2024-06-14T14:52:30.446108Z TRACE server_handshake:Connection{peer=Server}:poll:FramedRead::poll_next:FramedRead::decode_frame{offset=92}: h2::codec::framed_read: frame.kind=Headers
2024-06-14T14:52:30.446132Z TRACE server_handshake:Connection{peer=Server}:poll:FramedRead::poll_next:FramedRead::decode_frame{offset=92}: h2::frame::headers: loading headers; flags=(0x4: END_HEADERS)
2024-06-14T14:52:30.446622Z TRACE server_handshake:Connection{peer=Server}:poll:FramedRead::poll_next:FramedRead::decode_frame{offset=92}:hpack::decode: h2::hpack::decoder: decode
2024-06-14T14:52:30.446646Z TRACE server_handshake:Connection{peer=Server}:poll:FramedRead::poll_next:FramedRead::decode_frame{offset=92}:hpack::decode: h2::hpack::decoder: rem=83 kind=Indexed
2024-06-14T14:52:30.447123Z TRACE server_handshake:Connection{peer=Server}:poll:FramedRead::poll_next:FramedRead::decode_frame{offset=92}:hpack::decode: h2::hpack::decoder: rem=82 kind=Indexed
2024-06-14T14:52:30.447149Z TRACE server_handshake:Connection{peer=Server}:poll:FramedRead::poll_next:FramedRead::decode_frame{offset=92}:hpack::decode: h2::hpack::decoder: rem=81 kind=LiteralWithIndexing
2024-06-14T14:52:30.447670Z TRACE server_handshake:Connection{peer=Server}:poll:FramedRead::poll_next:FramedRead::decode_frame{offset=92}:hpack::decode: h2::hpack::decoder: rem=68 kind=LiteralWithoutIndexing
2024-06-14T14:52:30.447796Z TRACE server_handshake:Connection{peer=Server}:poll:FramedRead::poll_next:FramedRead::decode_frame{offset=92}:hpack::decode: h2::hpack::decoder: rem=34 kind=LiteralWithIndexing
2024-06-14T14:52:30.447860Z TRACE server_handshake:Connection{peer=Server}:poll:FramedRead::poll_next:FramedRead::decode_frame{offset=92}:hpack::decode: h2::hpack::decoder: rem=23 kind=LiteralWithIndexing
2024-06-14T14:52:30.448373Z TRACE server_handshake:Connection{peer=Server}:poll:FramedRead::poll_next:FramedRead::decode_frame{offset=92}:hpack::decode: h2::hpack::decoder: rem=10 kind=LiteralWithIndexing
2024-06-14T14:52:30.448440Z DEBUG server_handshake:Connection{peer=Server}:poll:FramedRead::poll_next: h2::codec::framed_read: received frame=Headers { stream_id: StreamId(1), flags: (0x4: END_HEADERS) }
2024-06-14T14:52:30.448465Z TRACE server_handshake:Connection{peer=Server}:poll: h2::proto::connection: recv HEADERS frame=Headers { stream_id: StreamId(1), flags: (0x4: END_HEADERS) }
2024-06-14T14:52:30.448921Z TRACE server_handshake:Connection{peer=Server}:poll: h2::proto::streams::flow_control: inc_window; sz=1048576; old=0; new=1048576
2024-06-14T14:52:30.448935Z TRACE server_handshake:Connection{peer=Server}:poll: h2::proto::streams::flow_control: inc_window; sz=2097152; old=0; new=2097152
2024-06-14T14:52:30.448958Z TRACE server_handshake:Connection{peer=Server}:poll: h2::proto::streams::streams: recv_headers; stream=StreamId(1); state=State { inner: Idle }
2024-06-14T14:52:30.449390Z TRACE server_handshake:Connection{peer=Server}:poll: h2::proto::streams::recv: opening stream; init_window=1048576
2024-06-14T14:52:30.449424Z TRACE server_handshake:Connection{peer=Server}:poll: h2::proto::streams::store: Queue::push_back
2024-06-14T14:52:30.449438Z TRACE server_handshake:Connection{peer=Server}:poll: h2::proto::streams::store:  -> first entry
2024-06-14T14:52:30.449452Z TRACE server_handshake:Connection{peer=Server}:poll: h2::proto::streams::counts: transition_after; stream=StreamId(1); state=State { inner: Open { local: AwaitingHeaders, remote: Streaming } }; is_closed=false; pending_send_empty=true; buffered_send_data=0; num_recv=1; num_send=0
2024-06-14T14:52:30.449904Z TRACE server_handshake:Connection{peer=Server}:poll:FramedRead::poll_next: h2::codec::framed_read: poll
2024-06-14T14:52:30.449921Z TRACE server_handshake:Connection{peer=Server}:poll:FramedRead::poll_next: h2::codec::framed_read: read.bytes=268
2024-06-14T14:52:30.450355Z TRACE server_handshake:Connection{peer=Server}:poll:FramedRead::poll_next:FramedRead::decode_frame{offset=268}: h2::codec::framed_read: decoding frame from 268B
2024-06-14T14:52:30.450374Z TRACE server_handshake:Connection{peer=Server}:poll:FramedRead::poll_next:FramedRead::decode_frame{offset=268}: h2::codec::framed_read: frame.kind=Data
2024-06-14T14:52:30.450399Z DEBUG server_handshake:Connection{peer=Server}:poll:FramedRead::poll_next: h2::codec::framed_read: received frame=Data { stream_id: StreamId(1) }
2024-06-14T14:52:30.450842Z TRACE server_handshake:Connection{peer=Server}:poll: h2::proto::connection: recv DATA frame=Data { stream_id: StreamId(1) }
2024-06-14T14:52:30.450861Z TRACE server_handshake:Connection{peer=Server}:poll: h2::proto::streams::recv: recv_data; size=259; connection=65535; stream=1048576
2024-06-14T14:52:30.450875Z TRACE server_handshake:Connection{peer=Server}:poll: h2::proto::streams::flow_control: send_data; sz=259; window=65535; available=1048576
2024-06-14T14:52:30.451305Z TRACE server_handshake:Connection{peer=Server}:poll: h2::proto::streams::flow_control: send_data; sz=259; window=1048576; available=1048576
2024-06-14T14:52:30.451321Z TRACE server_handshake:Connection{peer=Server}:poll: h2::proto::streams::counts: transition_after; stream=StreamId(1); state=State { inner: Open { local: AwaitingHeaders, remote: Streaming } }; is_closed=false; pending_send_empty=true; buffered_send_data=0; num_recv=1; num_send=0
2024-06-14T14:52:30.451352Z TRACE server_handshake:Connection{peer=Server}:poll:FramedRead::poll_next: h2::codec::framed_read: poll
2024-06-14T14:52:30.451777Z TRACE server_handshake:Connection{peer=Server}:poll:FramedRead::poll_next: h2::codec::framed_read: read.bytes=9
2024-06-14T14:52:30.451802Z TRACE server_handshake:Connection{peer=Server}:poll:FramedRead::poll_next:FramedRead::decode_frame{offset=9}: h2::codec::framed_read: decoding frame from 9B
2024-06-14T14:52:30.451819Z TRACE server_handshake:Connection{peer=Server}:poll:FramedRead::poll_next:FramedRead::decode_frame{offset=9}: h2::codec::framed_read: frame.kind=Data
2024-06-14T14:52:30.452260Z DEBUG server_handshake:Connection{peer=Server}:poll:FramedRead::poll_next: h2::codec::framed_read: received frame=Data { stream_id: StreamId(1), flags: (0x1: END_STREAM) }
2024-06-14T14:52:30.452283Z TRACE server_handshake:Connection{peer=Server}:poll: h2::proto::connection: recv DATA frame=Data { stream_id: StreamId(1), flags: (0x1: END_STREAM) }
2024-06-14T14:52:30.452299Z TRACE server_handshake:Connection{peer=Server}:poll: h2::proto::streams::recv: recv_data; size=0; connection=65276; stream=1048317
2024-06-14T14:52:30.452725Z TRACE server_handshake:Connection{peer=Server}:poll: h2::proto::streams::flow_control: send_data; sz=0; window=65276; available=1048317
2024-06-14T14:52:30.452741Z TRACE server_handshake:Connection{peer=Server}:poll: h2::proto::streams::state: recv_close: Open => HalfClosedRemote(AwaitingHeaders)
2024-06-14T14:52:30.452753Z TRACE server_handshake:Connection{peer=Server}:poll: h2::proto::streams::flow_control: send_data; sz=0; window=1048317; available=1048317
2024-06-14T14:52:30.453180Z TRACE server_handshake:Connection{peer=Server}:poll: h2::proto::streams::counts: transition_after; stream=StreamId(1); state=State { inner: HalfClosedRemote(AwaitingHeaders) }; is_closed=false; pending_send_empty=true; buffered_send_data=0; num_recv=1; num_send=0
2024-06-14T14:52:30.453211Z TRACE server_handshake:Connection{peer=Server}:poll:FramedRead::poll_next: h2::codec::framed_read: poll
2024-06-14T14:52:30.453227Z TRACE server_handshake:Connection{peer=Server}:poll:FramedRead::poll_next: h2::codec::framed_read: read.bytes=9
2024-06-14T14:52:30.453660Z TRACE server_handshake:Connection{peer=Server}:poll:FramedRead::poll_next:FramedRead::decode_frame{offset=9}: h2::codec::framed_read: decoding frame from 9B
2024-06-14T14:52:30.453678Z TRACE server_handshake:Connection{peer=Server}:poll:FramedRead::poll_next:FramedRead::decode_frame{offset=9}: h2::codec::framed_read: frame.kind=Settings
2024-06-14T14:52:30.454126Z DEBUG server_handshake:Connection{peer=Server}:poll:FramedRead::poll_next: h2::codec::framed_read: received frame=Settings { flags: (0x1: ACK) }
2024-06-14T14:52:30.454157Z TRACE server_handshake:Connection{peer=Server}:poll: h2::proto::connection: recv SETTINGS frame=Settings { flags: (0x1: ACK) }
2024-06-14T14:52:30.454174Z DEBUG server_handshake:Connection{peer=Server}:poll: h2::proto::settings: received settings ACK; applying Settings { flags: (0x0), initial_window_size: 1048576, max_frame_size: 16384, max_header_list_size: 16777216 }
2024-06-14T14:52:30.454615Z TRACE server_handshake:Connection{peer=Server}:poll: h2::proto::streams::recv: update_initial_window_size; new=1048576; old=1048576
2024-06-14T14:52:30.454651Z TRACE server_handshake:Connection{peer=Server}:poll:FramedRead::poll_next: h2::codec::framed_read: poll
2024-06-14T14:52:30.454688Z DEBUG server_handshake:Connection{peer=Server}:poll:FramedWrite::buffer{frame=WindowUpdate { stream_id: StreamId(0), size_increment: 983041 }}: h2::codec::framed_write: send frame=WindowUpdate { stream_id: StreamId(0), size_increment: 983041 }
2024-06-14T14:52:30.455117Z TRACE server_handshake:Connection{peer=Server}:poll:FramedWrite::buffer{frame=WindowUpdate { stream_id: StreamId(0), size_increment: 983041 }}: h2::frame::window_update: encoding WINDOW_UPDATE; id=StreamId(0)
2024-06-14T14:52:30.455136Z TRACE server_handshake:Connection{peer=Server}:poll:FramedWrite::buffer{frame=WindowUpdate { stream_id: StreamId(0), size_increment: 983041 }}: h2::codec::framed_write: encoded window_update rem=22
2024-06-14T14:52:30.455568Z TRACE server_handshake:Connection{peer=Server}:poll: h2::proto::streams::flow_control: inc_window; sz=983041; old=65276; new=1048317
2024-06-14T14:52:30.455593Z TRACE server_handshake:Connection{peer=Server}:poll: h2::proto::streams::prioritize: poll_complete
2024-06-14T14:52:30.455606Z TRACE server_handshake:Connection{peer=Server}:poll: h2::proto::streams::prioritize: schedule_pending_open
2024-06-14T14:52:30.455632Z TRACE server_handshake:Connection{peer=Server}:poll:FramedWrite::flush: h2::codec::framed_write: queued_data_frame=false
2024-06-14T14:52:30.456074Z TRACE server_handshake:Connection{peer=Server}:poll:FramedWrite::flush: h2::codec::framed_write: flushing buffer
2024-06-14T14:52:30.456113Z TRACE h2::proto::streams::streams: next_incoming; id=StreamId(1), state=State { inner: HalfClosedRemote(AwaitingHeaders) }
2024-06-14T14:52:30.456121Z TRACE h2::server: received incoming
2024-06-14T14:52:30.456128Z TRACE hyper::proto::h2::server: incoming request
2024-06-14T14:52:30.456201Z TRACE server_handshake:Connection{peer=Server}:poll: h2::proto::connection: connection.state=Open
2024-06-14T14:52:30.456230Z TRACE server_handshake:Connection{peer=Server}:poll:FramedRead::poll_next: h2::codec::framed_read: poll
2024-06-14T14:52:30.456685Z TRACE server_handshake:Connection{peer=Server}:poll: h2::proto::streams::prioritize: poll_complete
2024-06-14T14:52:30.456700Z TRACE server_handshake:Connection{peer=Server}:poll: h2::proto::streams::prioritize: schedule_pending_open
2024-06-14T14:52:30.456723Z TRACE server_handshake:Connection{peer=Server}:poll:FramedWrite::flush: h2::codec::framed_write: flushing buffer
2024-06-14T14:52:30.457156Z DEBUG tonic_web::service: kind="other h2" content_type=Some("application/grpc")
2024-06-14T14:52:30.457186Z TRACE h2::proto::streams::recv: release_capacity; size=259
2024-06-14T14:52:30.457192Z TRACE h2::proto::streams::recv: release_connection_capacity; size=259, connection in_flight_data=259
2024-06-14T14:52:30.457215Z TRACE h2::proto::streams::recv: release_capacity; size=0
2024-06-14T14:52:30.457219Z TRACE h2::proto::streams::recv: release_connection_capacity; size=0, connection in_flight_data=0
2024-06-14T14:52:30.457230Z TRACE h2::proto::streams::streams: drop_stream_ref; stream=Stream { id: StreamId(1), state: State { inner: HalfClosedRemote(AwaitingHeaders) }, is_counted: true, ref_count: 2, next_pending_send: None, is_pending_send: false, send_flow: FlowControl { window_size: Window(2097152), available: Window(0) }, requested_send_capacity: 0, buffered_send_data: 0, send_task: None, pending_send: Deque { indices: None }, next_pending_send_capacity: None, is_pending_send_capacity: false, send_capacity_inc: false, next_open: None, is_pending_open: false, is_pending_push: false, next_pending_accept: None, is_pending_accept: false, recv_flow: FlowControl { window_size: Window(1048317), available: Window(1048576) }, in_flight_recv_data: 0, next_window_update: None, is_pending_window_update: false, reset_at: None, next_reset_expire: None, pending_recv: Deque { indices: None }, is_recv: false, recv_task: None, pending_push_promises: Queue { indices: None, _p: PhantomData<h2::proto::streams::stream::NextAccept> }, content_length: Omitted }
2024-06-14T14:52:30.457603Z TRACE h2::proto::streams::counts: transition_after; stream=StreamId(1); state=State { inner: HalfClosedRemote(AwaitingHeaders) }; is_closed=false; pending_send_empty=true; buffered_send_data=0; num_recv=1; num_send=0
2024-06-14T14:52:30.457974Z TRACE dephy_pproxy::command: handle request: Request { metadata: MetadataMap { headers: {"te": "trailers", "content-type": "application/grpc", "user-agent": "tonic/0.11.0"} }, message: RequestHttpServerRequest { peer_id: "12D3KooWEuyctdqotRHsJcqy1BRTwFcVjx27Jbide8K1UyYfFV9r", data: [80, 79, 83, 84, 32, 47, 97, 112, 105, 47, 103, 101, 110, 101, 114, 97, 116, 101, 32, 72, 84, 84, 80, 47, 49, 46, 49, 13, 10, 104, 111, 115, 116, 58, 32, 49, 50, 55, 46, 48, 46, 48, 46, 49, 58, 56, 48, 56, 48, 13, 10, 117, 115, 101, 114, 45, 97, 103, 101, 110, 116, 58, 32, 99, 117, 114, 108, 47, 56, 46, 54, 46, 48, 13, 10, 97, 99, 99, 101, 112, 116, 58, 32, 42, 47, 42, 13, 10, 99, 111, 110, 116, 101, 110, 116, 45, 108, 101, 110, 103, 116, 104, 58, 32, 51, 56, 13, 10, 99, 111, 110, 116, 101, 110, 116, 45, 116, 121, 112, 101, 58, 32, 97, 112, 112, 108, 105, 99, 97, 116, 105, 111, 110, 47, 120, 45, 119, 119, 119, 45, 102, 111, 114, 109, 45, 117, 114, 108, 101, 110, 99, 111, 100, 101, 100, 13, 10, 13, 10, 123, 34, 109, 111, 100, 101, 108, 34, 58, 32, 34, 108, 108, 97, 109, 97, 51, 34, 44, 32, 34, 112, 114, 111, 109, 112, 116, 34, 58, 32, 34, 104, 101, 108, 108, 111, 34, 125] }, extensions: Extensions }
2024-06-14T14:52:30.458557Z TRACE litep2p::request-response::handle: send request to peer peer=PeerId("12D3KooWEuyctdqotRHsJcqy1BRTwFcVjx27Jbide8K1UyYfFV9r")
2024-06-14T14:52:30.458723Z TRACE litep2p::request-response::protocol: send request to remote peer peer=PeerId("12D3KooWEuyctdqotRHsJcqy1BRTwFcVjx27Jbide8K1UyYfFV9r") protocol=/pproxy/tunnel/1 request_id=RequestId(0) dial_options=Dial
2024-06-14T14:52:30.458845Z TRACE litep2p::request-response::protocol: started dialing peer peer=PeerId("12D3KooWEuyctdqotRHsJcqy1BRTwFcVjx27Jbide8K1UyYfFV9r") protocol=/pproxy/tunnel/1 request_id=RequestId(0)
2024-06-14T14:52:30.458911Z DEBUG litep2p::transport-manager: dial remote peer connection_id=ConnectionId(0) addresses={"/ip4/127.0.0.1/tcp/6666/p2p/12D3KooWEuyctdqotRHsJcqy1BRTwFcVjx27Jbide8K1UyYfFV9r": AddressRecord { score: 0, address: "/ip4/127.0.0.1/tcp/6666/p2p/12D3KooWEuyctdqotRHsJcqy1BRTwFcVjx27Jbide8K1UyYfFV9r", connection_id: None }}
2024-06-14T14:52:30.459076Z TRACE litep2p::transport::listener: parse multi address address="/ip4/127.0.0.1/tcp/6666/p2p/12D3KooWEuyctdqotRHsJcqy1BRTwFcVjx27Jbide8K1UyYfFV9r"
2024-06-14T14:52:30.459505Z TRACE litep2p::tcp: connection opened connection_id=ConnectionId(0) address="/ip4/127.0.0.1/tcp/6666/p2p/12D3KooWEuyctdqotRHsJcqy1BRTwFcVjx27Jbide8K1UyYfFV9r" canceled=false
2024-06-14T14:52:30.459580Z TRACE litep2p::transport-manager: connection opened to peer peer=PeerId("12D3KooWEuyctdqotRHsJcqy1BRTwFcVjx27Jbide8K1UyYfFV9r") connection_id=ConnectionId(0) address="/ip4/127.0.0.1/tcp/6666/p2p/12D3KooWEuyctdqotRHsJcqy1BRTwFcVjx27Jbide8K1UyYfFV9r" transport=Tcp
2024-06-14T14:52:30.459644Z TRACE litep2p::transport::listener: parse multi address address="/ip4/127.0.0.1/tcp/6666/p2p/12D3KooWEuyctdqotRHsJcqy1BRTwFcVjx27Jbide8K1UyYfFV9r"
2024-06-14T14:52:30.459699Z TRACE litep2p::tcp: negotiate connection peer=Some(PeerId("12D3KooWEuyctdqotRHsJcqy1BRTwFcVjx27Jbide8K1UyYfFV9r")) connection_id=ConnectionId(0) address="/ip4/127.0.0.1/tcp/6666/p2p/12D3KooWEuyctdqotRHsJcqy1BRTwFcVjx27Jbide8K1UyYfFV9r"
2024-06-14T14:52:30.459759Z TRACE litep2p::transport-manager: negotiation started peer=PeerId("12D3KooWEuyctdqotRHsJcqy1BRTwFcVjx27Jbide8K1UyYfFV9r") connection_id=ConnectionId(0) dial_record=AddressRecord { score: 100, address: "/ip4/127.0.0.1/tcp/6666/p2p/12D3KooWEuyctdqotRHsJcqy1BRTwFcVjx27Jbide8K1UyYfFV9r", connection_id: Some(ConnectionId(0)) } transport=Tcp
2024-06-14T14:52:30.460478Z TRACE litep2p::tcp::connection: negotiate connection role=Dialer
2024-06-14T14:52:30.460504Z TRACE litep2p::tcp::connection: negotiating protocols protocols=["/noise"]
2024-06-14T14:52:30.460574Z DEBUG litep2p::multistream-select: Dialer: Proposed protocol: /noise
2024-06-14T14:52:30.461012Z TRACE litep2p::multistream-select: Received message: Header(V1)
2024-06-14T14:52:30.461176Z TRACE litep2p::multistream-select: Received message: Protocol(Protocol(b"/noise"))
2024-06-14T14:52:30.461217Z DEBUG litep2p::multistream-select: Dialer: Received confirmation for protocol: /noise
2024-06-14T14:52:30.461229Z TRACE litep2p::tcp::connection: protocol negotiated protocol="/noise"
2024-06-14T14:52:30.461239Z TRACE litep2p::tcp::connection: `multistream-select` and `noise` negotiated
2024-06-14T14:52:30.461261Z DEBUG litep2p::crypto::noise: start noise handshake role=Dialer
2024-06-14T14:52:30.461283Z TRACE litep2p::crypto::noise: create new noise configuration role=Dialer
2024-06-14T14:52:30.462798Z TRACE litep2p::crypto::noise: get noise dialer first message
2024-06-14T14:52:30.465603Z TRACE litep2p::crypto::noise: get noise paylod message
2024-06-14T14:52:30.466104Z TRACE litep2p::tcp::connection: noise handshake done
2024-06-14T14:52:30.466113Z TRACE litep2p::tcp::connection: negotiating protocols protocols=["/yamux/1.0.0"]
2024-06-14T14:52:30.466141Z DEBUG litep2p::multistream-select: Dialer: Proposed protocol: /yamux/1.0.0
2024-06-14T14:52:30.466960Z TRACE litep2p::crypto::noise: read data from socket nread=70
2024-06-14T14:52:30.466971Z TRACE litep2p::crypto::noise: current frame size = 36
2024-06-14T14:52:30.466995Z TRACE litep2p::multistream-select: Received message: Header(V1)
2024-06-14T14:52:30.466999Z TRACE litep2p::crypto::noise: current frame size = 30
2024-06-14T14:52:30.467006Z TRACE litep2p::multistream-select: Received message: Protocol(Protocol(b"/yamux/1.0.0"))
2024-06-14T14:52:30.467012Z DEBUG litep2p::multistream-select: Dialer: Received confirmation for protocol: /yamux/1.0.0
2024-06-14T14:52:30.467020Z TRACE litep2p::tcp::connection: protocol negotiated protocol="/yamux/1.0.0"
2024-06-14T14:52:30.467028Z TRACE litep2p::tcp::connection: `yamux` negotiated
2024-06-14T14:52:30.467117Z DEBUG litep2p::yamux: new connection: fc17bf02 (Client)
2024-06-14T14:52:30.467270Z TRACE litep2p::transport-manager: connection opened to remote peer=PeerId("12D3KooWEuyctdqotRHsJcqy1BRTwFcVjx27Jbide8K1UyYfFV9r") connection_id=ConnectionId(0) endpoint=Dialer { address: "/ip4/127.0.0.1/tcp/6666", connection_id: ConnectionId(0) } record=AddressRecord { score: 100, address: "/ip4/127.0.0.1/tcp/6666/p2p/12D3KooWEuyctdqotRHsJcqy1BRTwFcVjx27Jbide8K1UyYfFV9r", connection_id: Some(ConnectionId(0)) }
2024-06-14T14:52:30.467857Z TRACE litep2p::transport-manager: accept connection peer=PeerId("12D3KooWEuyctdqotRHsJcqy1BRTwFcVjx27Jbide8K1UyYfFV9r") endpoint=Dialer { address: "/ip4/127.0.0.1/tcp/6666", connection_id: ConnectionId(0) }
2024-06-14T14:52:30.467934Z TRACE litep2p::tcp: start connection connection_id=ConnectionId(0)
2024-06-14T14:52:30.468081Z TRACE litep2p::yamux: fc17bf02: write: (WriteState::Init)
2024-06-14T14:52:30.468088Z TRACE litep2p::yamux: fc17bf02: write: (WriteState::Init)
2024-06-14T14:52:30.468117Z TRACE litep2p::yamux: fc17bf02: read: (ReadState::Init)
2024-06-14T14:52:30.468121Z TRACE litep2p::yamux: fc17bf02: read: (ReadState::Header (offset 0))
2024-06-14T14:52:30.468103Z DEBUG litep2p::transport-service: connection established peer=PeerId("12D3KooWEuyctdqotRHsJcqy1BRTwFcVjx27Jbide8K1UyYfFV9r") protocol=/pproxy/control/1 endpoint=Dialer { address: "/ip4/127.0.0.1/tcp/6666", connection_id: ConnectionId(0) } connection_id=ConnectionId(0)
2024-06-14T14:52:30.468158Z TRACE litep2p::crypto::noise: reset read buffer
2024-06-14T14:52:30.468743Z DEBUG litep2p::transport-service: connection established peer=PeerId("12D3KooWEuyctdqotRHsJcqy1BRTwFcVjx27Jbide8K1UyYfFV9r") protocol=/pproxy/tunnel/1 endpoint=Dialer { address: "/ip4/127.0.0.1/tcp/6666", connection_id: ConnectionId(0) } connection_id=ConnectionId(0)
2024-06-14T14:52:30.468778Z DEBUG litep2p::request-response::protocol: connection established peer=PeerId("12D3KooWEuyctdqotRHsJcqy1BRTwFcVjx27Jbide8K1UyYfFV9r") protocol=/pproxy/tunnel/1
2024-06-14T14:52:30.468777Z DEBUG litep2p::request-response::protocol: connection established peer=PeerId("12D3KooWEuyctdqotRHsJcqy1BRTwFcVjx27Jbide8K1UyYfFV9r") protocol=/pproxy/control/1
2024-06-14T14:52:30.469349Z TRACE litep2p::transport-service: open substream peer=PeerId("12D3KooWEuyctdqotRHsJcqy1BRTwFcVjx27Jbide8K1UyYfFV9r") protocol=/pproxy/tunnel/1 substream_id=SubstreamId(0)
2024-06-14T14:52:30.469394Z TRACE litep2p::request-response::protocol: dial succeeded, open substream peer=PeerId("12D3KooWEuyctdqotRHsJcqy1BRTwFcVjx27Jbide8K1UyYfFV9r") protocol=/pproxy/tunnel/1 request_id=RequestId(0) substream_id=SubstreamId(0)
2024-06-14T14:52:30.469986Z TRACE litep2p::yamux: fc17bf02: write: (WriteState::Init)
2024-06-14T14:52:30.469992Z TRACE litep2p::yamux: fc17bf02: write: (WriteState::Init)
2024-06-14T14:52:30.469997Z TRACE litep2p::yamux: fc17bf02: read: (ReadState::Header (offset 0))
2024-06-14T14:52:30.470022Z TRACE litep2p::tcp::connection: open substream protocol=Static("/pproxy/tunnel/1") substream_id=SubstreamId(0)
2024-06-14T14:52:30.470032Z TRACE litep2p::yamux: fc17bf02: write: (WriteState::Init)
2024-06-14T14:52:30.470579Z TRACE litep2p::yamux: fc17bf02: write: (WriteState::Init)
2024-06-14T14:52:30.470587Z TRACE litep2p::yamux: fc17bf02: read: (ReadState::Header (offset 0))
2024-06-14T14:52:30.470600Z DEBUG litep2p::tcp::connection: open substream protocol=Static("/pproxy/tunnel/1") substream_id=SubstreamId(0)
2024-06-14T14:52:30.470629Z TRACE litep2p::yamux: fc17bf02: write: (WriteState::Init)
2024-06-14T14:52:30.470633Z TRACE litep2p::yamux: fc17bf02: write: (WriteState::Init)
2024-06-14T14:52:30.470638Z TRACE litep2p::yamux: fc17bf02: read: (ReadState::Header (offset 0))
2024-06-14T14:52:30.470662Z TRACE litep2p::yamux: fc17bf02: creating new outbound stream
2024-06-14T14:52:30.471226Z DEBUG litep2p::yamux: fc17bf02: new outbound (Stream fc17bf02/1) of (Connection fc17bf02 Client (streams 0))
2024-06-14T14:52:30.471239Z TRACE litep2p::yamux: fc17bf02: write: (WriteState::Init)
2024-06-14T14:52:30.471243Z TRACE litep2p::yamux: fc17bf02: write: (WriteState::Init)
2024-06-14T14:52:30.471251Z TRACE litep2p::yamux: fc17bf02: read: (ReadState::Header (offset 0))
2024-06-14T14:52:30.471263Z TRACE litep2p::yamux: fc17bf02: write: (WriteState::Init)
2024-06-14T14:52:30.471268Z TRACE litep2p::yamux: fc17bf02: write: (WriteState::Init)
2024-06-14T14:52:30.471272Z TRACE litep2p::yamux: fc17bf02: read: (ReadState::Header (offset 0))
2024-06-14T14:52:30.471830Z TRACE litep2p::tcp::connection: substream opened substream_id=SubstreamId(0)
2024-06-14T14:52:30.471882Z TRACE litep2p::tcp::connection: negotiating protocols protocols=["/pproxy/tunnel/1"]
2024-06-14T14:52:30.471925Z DEBUG litep2p::multistream-select: Dialer: Proposed protocol: /pproxy/tunnel/1
2024-06-14T14:52:30.471949Z TRACE litep2p::yamux: fc17bf02/1: write 38 bytes
2024-06-14T14:52:30.471986Z TRACE litep2p::yamux: fc17bf02: write: (WriteState::Init)
2024-06-14T14:52:30.471991Z TRACE litep2p::yamux: fc17bf02: write: (WriteState::Init)
2024-06-14T14:52:30.472000Z TRACE litep2p::yamux: fc17bf02/1: sending: (Header Data 1 (len 38) (flags 1))
2024-06-14T14:52:30.472007Z TRACE litep2p::yamux: fc17bf02: write: (WriteState::Init)
2024-06-14T14:52:30.472540Z TRACE litep2p::yamux: fc17bf02: write: (WriteState::Header (offset 0))
2024-06-14T14:52:30.472600Z TRACE litep2p::yamux: fc17bf02: write: (WriteState::Body (offset 0) (buffer-len 38))
2024-06-14T14:52:30.472608Z TRACE litep2p::yamux: fc17bf02: write: (WriteState::Init)
2024-06-14T14:52:30.472612Z TRACE litep2p::yamux: fc17bf02: write: (WriteState::Init)
2024-06-14T14:52:30.472618Z TRACE litep2p::yamux: fc17bf02: read: (ReadState::Header (offset 0))
2024-06-14T14:52:30.472677Z TRACE litep2p::yamux: fc17bf02: write: (WriteState::Init)
2024-06-14T14:52:30.472695Z TRACE litep2p::yamux: fc17bf02: write: (WriteState::Init)
2024-06-14T14:52:30.472703Z TRACE litep2p::yamux: fc17bf02: read: (ReadState::Header (offset 0))
2024-06-14T14:52:30.478960Z TRACE litep2p::yamux: fc17bf02: write: (WriteState::Init)
2024-06-14T14:52:30.478973Z TRACE litep2p::yamux: fc17bf02: write: (WriteState::Init)
2024-06-14T14:52:30.478981Z TRACE litep2p::yamux: fc17bf02: read: (ReadState::Header (offset 0))
2024-06-14T14:52:30.478991Z TRACE litep2p::crypto::noise: read data from socket nread=68
2024-06-14T14:52:30.478997Z TRACE litep2p::crypto::noise: current frame size = 28
2024-06-14T14:52:30.479005Z TRACE litep2p::yamux: fc17bf02: read: (ReadState::Header (offset 12))
2024-06-14T14:52:30.479011Z TRACE litep2p::yamux: fc17bf02: read: (Header Data 1 (len 20) (flags 2))
2024-06-14T14:52:30.479015Z TRACE litep2p::yamux: fc17bf02: read: (ReadState::Body (header (Header Data 1 (len 20) (flags 2))) (offset 0) (buffer-len 20))
2024-06-14T14:52:30.479019Z TRACE litep2p::crypto::noise: current frame size = 36
2024-06-14T14:52:30.479511Z TRACE litep2p::yamux: fc17bf02: read: (ReadState::Body (header (Header Data 1 (len 20) (flags 2))) (offset 20) (buffer-len 20))
2024-06-14T14:52:30.479547Z TRACE litep2p::yamux: fc17bf02: received: (Header Data 1 (len 20) (flags 2))
2024-06-14T14:52:30.479553Z TRACE litep2p::yamux: fc17bf02/1: update state: (from Open { acknowledged: false } to Open { acknowledged: true } -> Open { acknowledged: true })
2024-06-14T14:52:30.479622Z TRACE litep2p::yamux: fc17bf02: write: (WriteState::Init)
2024-06-14T14:52:30.479626Z TRACE litep2p::yamux: fc17bf02: write: (WriteState::Init)
2024-06-14T14:52:30.479630Z TRACE litep2p::yamux: fc17bf02: read: (ReadState::Init)
2024-06-14T14:52:30.480132Z TRACE litep2p::yamux: fc17bf02: read: (ReadState::Header (offset 0))
2024-06-14T14:52:30.480137Z TRACE litep2p::crypto::noise: reset read buffer
2024-06-14T14:52:30.480153Z TRACE litep2p::yamux: fc17bf02/1: read 1 bytes
2024-06-14T14:52:30.480159Z TRACE litep2p::yamux: fc17bf02/1: read 19 bytes
2024-06-14T14:52:30.480164Z TRACE litep2p::multistream-select: Received message: Header(V1)
2024-06-14T14:52:30.480182Z TRACE litep2p::yamux: fc17bf02: write: (WriteState::Init)
2024-06-14T14:52:30.480186Z TRACE litep2p::yamux: fc17bf02: write: (WriteState::Init)
2024-06-14T14:52:30.480190Z TRACE litep2p::yamux: fc17bf02: read: (ReadState::Header (offset 0))
2024-06-14T14:52:30.480685Z TRACE litep2p::crypto::noise: read data from socket nread=66
2024-06-14T14:52:30.480691Z TRACE litep2p::crypto::noise: current frame size = 28
2024-06-14T14:52:30.480697Z TRACE litep2p::yamux: fc17bf02: read: (ReadState::Header (offset 12))
2024-06-14T14:52:30.480700Z TRACE litep2p::yamux: fc17bf02: read: (Header Data 1 (len 18) (flags 0))
2024-06-14T14:52:30.480704Z TRACE litep2p::yamux: fc17bf02: read: (ReadState::Body (header (Header Data 1 (len 18) (flags 0))) (offset 0) (buffer-len 18))
2024-06-14T14:52:30.481172Z TRACE litep2p::crypto::noise: current frame size = 34
2024-06-14T14:52:30.481181Z TRACE litep2p::yamux: fc17bf02: read: (ReadState::Body (header (Header Data 1 (len 18) (flags 0))) (offset 18) (buffer-len 18))
2024-06-14T14:52:30.481186Z TRACE litep2p::yamux: fc17bf02: received: (Header Data 1 (len 18) (flags 0))
2024-06-14T14:52:30.481193Z TRACE litep2p::yamux: fc17bf02: write: (WriteState::Init)
2024-06-14T14:52:30.481196Z TRACE litep2p::yamux: fc17bf02: write: (WriteState::Init)
2024-06-14T14:52:30.481200Z TRACE litep2p::yamux: fc17bf02: read: (ReadState::Init)
2024-06-14T14:52:30.481202Z TRACE litep2p::yamux: fc17bf02: read: (ReadState::Header (offset 0))
2024-06-14T14:52:30.481718Z TRACE litep2p::crypto::noise: reset read buffer
2024-06-14T14:52:30.481735Z TRACE litep2p::yamux: fc17bf02/1: read 1 bytes
2024-06-14T14:52:30.481740Z TRACE litep2p::yamux: fc17bf02/1: read 17 bytes
2024-06-14T14:52:30.481746Z TRACE litep2p::multistream-select: Received message: Protocol(Protocol(b"/pproxy/tunnel/1"))
2024-06-14T14:52:30.481754Z DEBUG litep2p::multistream-select: Dialer: Received confirmation for protocol: /pproxy/tunnel/1
2024-06-14T14:52:30.481762Z TRACE litep2p::tcp::connection: protocol negotiated protocol="/pproxy/tunnel/1"
2024-06-14T14:52:30.482292Z TRACE litep2p::substream: create new substream for tcp peer=PeerId("12D3KooWEuyctdqotRHsJcqy1BRTwFcVjx27Jbide8K1UyYfFV9r") codec=UnsignedVarint(Some(1048576))
2024-06-14T14:52:30.482317Z DEBUG litep2p::protocol-set: substream opened protocol=/pproxy/tunnel/1 peer=PeerId("12D3KooWEuyctdqotRHsJcqy1BRTwFcVjx27Jbide8K1UyYfFV9r") direction=Outbound(SubstreamId(0))
2024-06-14T14:52:30.482351Z TRACE litep2p::yamux: fc17bf02: write: (WriteState::Init)
2024-06-14T14:52:30.482355Z TRACE litep2p::yamux: fc17bf02: write: (WriteState::Init)
2024-06-14T14:52:30.482359Z TRACE litep2p::yamux: fc17bf02: read: (ReadState::Header (offset 0))
2024-06-14T14:52:30.482395Z TRACE litep2p::yamux: fc17bf02: write: (WriteState::Init)
2024-06-14T14:52:30.482401Z TRACE litep2p::yamux: fc17bf02: write: (WriteState::Init)
2024-06-14T14:52:30.482853Z TRACE litep2p::yamux: fc17bf02: read: (ReadState::Header (offset 0))
2024-06-14T14:52:30.482409Z TRACE litep2p::request-response::protocol: substream opened, send request peer=PeerId("12D3KooWEuyctdqotRHsJcqy1BRTwFcVjx27Jbide8K1UyYfFV9r") protocol=/pproxy/tunnel/1 substream_id=SubstreamId(0) request_id=RequestId(0)
2024-06-14T14:52:30.482900Z TRACE litep2p::substream: send framed peer=PeerId("12D3KooWEuyctdqotRHsJcqy1BRTwFcVjx27Jbide8K1UyYfFV9r") codec=UnsignedVarint(Some(1048576)) frame_len=197
2024-06-14T14:52:30.482925Z TRACE litep2p::yamux: fc17bf02/1: write 2 bytes
2024-06-14T14:52:30.482936Z TRACE litep2p::yamux: fc17bf02/1: write 197 bytes
2024-06-14T14:52:30.483250Z TRACE litep2p::yamux: fc17bf02: write: (WriteState::Init)
2024-06-14T14:52:30.483254Z TRACE litep2p::yamux: fc17bf02: write: (WriteState::Init)
2024-06-14T14:52:30.483265Z TRACE litep2p::yamux: fc17bf02/1: sending: (Header Data 1 (len 2) (flags 0))
2024-06-14T14:52:30.483269Z TRACE litep2p::yamux: fc17bf02: write: (WriteState::Init)
2024-06-14T14:52:30.483272Z TRACE litep2p::yamux: fc17bf02: write: (WriteState::Header (offset 0))
2024-06-14T14:52:30.483289Z TRACE litep2p::yamux: fc17bf02: write: (WriteState::Body (offset 0) (buffer-len 2))
2024-06-14T14:52:30.483296Z TRACE litep2p::yamux: fc17bf02: write: (WriteState::Init)
2024-06-14T14:52:30.483299Z TRACE litep2p::yamux: fc17bf02: write: (WriteState::Init)
2024-06-14T14:52:30.483729Z TRACE litep2p::yamux: fc17bf02/1: sending: (Header Data 1 (len 197) (flags 0))
2024-06-14T14:52:30.483735Z TRACE litep2p::yamux: fc17bf02: write: (WriteState::Init)
2024-06-14T14:52:30.483738Z TRACE litep2p::yamux: fc17bf02: write: (WriteState::Header (offset 0))
2024-06-14T14:52:30.483750Z TRACE litep2p::yamux: fc17bf02: write: (WriteState::Body (offset 0) (buffer-len 197))
2024-06-14T14:52:30.483756Z TRACE litep2p::yamux: fc17bf02: write: (WriteState::Init)
2024-06-14T14:52:30.483760Z TRACE litep2p::yamux: fc17bf02: write: (WriteState::Init)
2024-06-14T14:52:30.483764Z TRACE litep2p::yamux: fc17bf02: read: (ReadState::Header (offset 0))
2024-06-14T14:52:30.484230Z TRACE litep2p::yamux: fc17bf02: write: (WriteState::Init)
2024-06-14T14:52:30.484234Z TRACE litep2p::yamux: fc17bf02: write: (WriteState::Init)
2024-06-14T14:52:30.484238Z TRACE litep2p::yamux: fc17bf02: read: (ReadState::Header (offset 0))
2024-06-14T14:52:35.471631Z TRACE litep2p::transport-service: keep-alive timeout over, downgrade connection peer=PeerId("12D3KooWEuyctdqotRHsJcqy1BRTwFcVjx27Jbide8K1UyYfFV9r") connection_id=ConnectionId(0)
2024-06-14T14:52:35.471632Z TRACE litep2p::transport-service: keep-alive timeout over, downgrade connection peer=PeerId("12D3KooWEuyctdqotRHsJcqy1BRTwFcVjx27Jbide8K1UyYfFV9r") connection_id=ConnectionId(0)
2024-06-14T14:52:35.491059Z TRACE litep2p::yamux: fc17bf02: write: (WriteState::Init)
2024-06-14T14:52:35.491077Z TRACE litep2p::yamux: fc17bf02: write: (WriteState::Init)
2024-06-14T14:52:35.491086Z TRACE litep2p::yamux: fc17bf02: read: (ReadState::Header (offset 0))
2024-06-14T14:52:35.491118Z TRACE litep2p::yamux: fc17bf02/1: update state: (from Open { acknowledged: true } to Closed -> Closed)
2024-06-14T14:52:35.491171Z DEBUG litep2p::tcp::connection: connection closed with error peer=PeerId("12D3KooWEuyctdqotRHsJcqy1BRTwFcVjx27Jbide8K1UyYfFV9r") error=Decode(Io(Kind(UnexpectedEof)))
2024-06-14T14:52:35.491265Z TRACE litep2p::transport-service: primary connection closed peer=PeerId("12D3KooWEuyctdqotRHsJcqy1BRTwFcVjx27Jbide8K1UyYfFV9r") connection_id=ConnectionId(0)
2024-06-14T14:52:35.491293Z DEBUG litep2p::request-response::protocol: connection closed peer=PeerId("12D3KooWEuyctdqotRHsJcqy1BRTwFcVjx27Jbide8K1UyYfFV9r") protocol=/pproxy/tunnel/1
2024-06-14T14:52:35.491306Z TRACE litep2p::transport-service: primary connection closed peer=PeerId("12D3KooWEuyctdqotRHsJcqy1BRTwFcVjx27Jbide8K1UyYfFV9r") connection_id=ConnectionId(0)
2024-06-14T14:52:35.491334Z DEBUG litep2p::yamux: fc17bf02/1: eof
2024-06-14T14:52:35.491324Z TRACE litep2p::transport-manager: connection closed peer=PeerId("12D3KooWEuyctdqotRHsJcqy1BRTwFcVjx27Jbide8K1UyYfFV9r") connection_id=ConnectionId(0)
2024-06-14T14:52:35.491771Z DEBUG litep2p::request-response::protocol: connection closed peer=PeerId("12D3KooWEuyctdqotRHsJcqy1BRTwFcVjx27Jbide8K1UyYfFV9r") protocol=/pproxy/control/1
2024-06-14T14:52:35.491813Z  WARN dephy_pproxy: request failed: Rejected
2024-06-14T14:52:35.491858Z DEBUG litep2p::request-response::protocol: failed to handle substream event peer=PeerId("12D3KooWEuyctdqotRHsJcqy1BRTwFcVjx27Jbide8K1UyYfFV9r") protocol=/pproxy/tunnel/1 request_id=RequestId(0) error=PeerDoesntExist(PeerId("12D3KooWEuyctdqotRHsJcqy1BRTwFcVjx27Jbide8K1UyYfFV9r"))
2024-06-14T14:52:35.491941Z TRACE h2::proto::streams::send: send_headers; frame=Headers { stream_id: StreamId(1), flags: (0x5: END_HEADERS | END_STREAM) }; init_window=2097152
2024-06-14T14:52:35.492389Z TRACE Prioritize::queue_frame{stream.id=StreamId(1)}: h2::proto::streams::prioritize: schedule_send stream.id=StreamId(1)
2024-06-14T14:52:35.492403Z TRACE Prioritize::queue_frame{stream.id=StreamId(1)}: h2::proto::streams::store: Queue::push_back
2024-06-14T14:52:35.492411Z TRACE Prioritize::queue_frame{stream.id=StreamId(1)}: h2::proto::streams::store:  -> first entry
2024-06-14T14:52:35.492859Z TRACE h2::proto::streams::counts: transition_after; stream=StreamId(1); state=State { inner: Closed(EndStream) }; is_closed=false; pending_send_empty=false; buffered_send_data=0; num_recv=1; num_send=0
2024-06-14T14:52:35.492868Z TRACE h2::proto::streams::streams: drop_stream_ref; stream=Stream { id: StreamId(1), state: State { inner: Closed(EndStream) }, is_counted: true, ref_count: 2, next_pending_send: None, is_pending_send: true, send_flow: FlowControl { window_size: Window(2097152), available: Window(0) }, requested_send_capacity: 0, buffered_send_data: 0, send_task: Some(Waker { data: 0x152704d00, vtable: 0x104e111f8 }), pending_send: Deque { indices: Some(Indices { head: 0, tail: 0 }) }, next_pending_send_capacity: None, is_pending_send_capacity: false, send_capacity_inc: false, next_open: None, is_pending_open: false, is_pending_push: false, next_pending_accept: None, is_pending_accept: false, recv_flow: FlowControl { window_size: Window(1048317), available: Window(1048576) }, in_flight_recv_data: 0, next_window_update: None, is_pending_window_update: false, reset_at: None, next_reset_expire: None, pending_recv: Deque { indices: None }, is_recv: false, recv_task: None, pending_push_promises: Queue { indices: None, _p: PhantomData<h2::proto::streams::stream::NextAccept> }, content_length: Omitted }
2024-06-14T14:52:35.493310Z TRACE h2::proto::streams::counts: transition_after; stream=StreamId(1); state=State { inner: Closed(EndStream) }; is_closed=false; pending_send_empty=false; buffered_send_data=0; num_recv=1; num_send=0
2024-06-14T14:52:35.493733Z TRACE h2::proto::streams::streams: drop_stream_ref; stream=Stream { id: StreamId(1), state: State { inner: Closed(EndStream) }, is_counted: true, ref_count: 1, next_pending_send: None, is_pending_send: true, send_flow: FlowControl { window_size: Window(2097152), available: Window(0) }, requested_send_capacity: 0, buffered_send_data: 0, send_task: Some(Waker { data: 0x152704d00, vtable: 0x104e111f8 }), pending_send: Deque { indices: Some(Indices { head: 0, tail: 0 }) }, next_pending_send_capacity: None, is_pending_send_capacity: false, send_capacity_inc: false, next_open: None, is_pending_open: false, is_pending_push: false, next_pending_accept: None, is_pending_accept: false, recv_flow: FlowControl { window_size: Window(1048317), available: Window(1048576) }, in_flight_recv_data: 0, next_window_update: None, is_pending_window_update: false, reset_at: None, next_reset_expire: None, pending_recv: Deque { indices: None }, is_recv: false, recv_task: None, pending_push_promises: Queue { indices: None, _p: PhantomData<h2::proto::streams::stream::NextAccept> }, content_length: Omitted }
2024-06-14T14:52:35.494131Z TRACE h2::proto::streams::counts: transition_after; stream=StreamId(1); state=State { inner: Closed(EndStream) }; is_closed=false; pending_send_empty=false; buffered_send_data=0; num_recv=1; num_send=0
2024-06-14T14:52:35.494412Z TRACE server_handshake:Connection{peer=Server}:poll: h2::proto::connection: connection.state=Open
2024-06-14T14:52:35.494442Z TRACE server_handshake:Connection{peer=Server}:poll:FramedRead::poll_next: h2::codec::framed_read: poll
2024-06-14T14:52:35.494467Z TRACE server_handshake:Connection{peer=Server}:poll: h2::proto::streams::prioritize: poll_complete
2024-06-14T14:52:35.494477Z TRACE server_handshake:Connection{peer=Server}:poll: h2::proto::streams::prioritize: schedule_pending_open
2024-06-14T14:52:35.494766Z TRACE server_handshake:Connection{peer=Server}:poll:pop_frame:popped{stream.id=StreamId(1) stream.state=State { inner: Closed(EndStream) }}: h2::proto::streams::prioritize: is_pending_reset=false
2024-06-14T14:52:35.494780Z TRACE server_handshake:Connection{peer=Server}:poll:pop_frame:popped{stream.id=StreamId(1) stream.state=State { inner: Closed(EndStream) }}: h2::proto::streams::prioritize: pop_frame; frame=Headers { stream_id: StreamId(1), flags: (0x5: END_HEADERS | END_STREAM) }
2024-06-14T14:52:35.495062Z TRACE server_handshake:Connection{peer=Server}:poll:pop_frame:popped{stream.id=StreamId(1) stream.state=State { inner: Closed(EndStream) }}: h2::proto::streams::counts: transition_after; stream=StreamId(1); state=State { inner: Closed(EndStream) }; is_closed=true; pending_send_empty=true; buffered_send_data=0; num_recv=1; num_send=0
2024-06-14T14:52:35.495081Z TRACE server_handshake:Connection{peer=Server}:poll:pop_frame:popped{stream.id=StreamId(1) stream.state=State { inner: Closed(EndStream) }}: h2::proto::streams::counts: dec_num_streams; stream=StreamId(1)
2024-06-14T14:52:35.495370Z TRACE server_handshake:Connection{peer=Server}:poll: h2::proto::streams::prioritize: writing frame=Headers { stream_id: StreamId(1), flags: (0x5: END_HEADERS | END_STREAM) }
2024-06-14T14:52:35.495391Z DEBUG server_handshake:Connection{peer=Server}:poll:FramedWrite::buffer{frame=Headers { stream_id: StreamId(1), flags: (0x5: END_HEADERS | END_STREAM) }}: h2::codec::framed_write: send frame=Headers { stream_id: StreamId(1), flags: (0x5: END_HEADERS | END_STREAM) }
2024-06-14T14:52:35.495775Z TRACE server_handshake:Connection{peer=Server}:poll: h2::proto::streams::prioritize: schedule_pending_open
2024-06-14T14:52:35.495797Z TRACE server_handshake:Connection{peer=Server}:poll:FramedWrite::flush: h2::codec::framed_write: queued_data_frame=false
2024-06-14T14:52:35.495826Z TRACE server_handshake:Connection{peer=Server}:poll:FramedWrite::flush: h2::codec::framed_write: flushing buffer
2024-06-14T14:52:35.497072Z TRACE server_handshake:Connection{peer=Server}:poll: h2::proto::connection: connection.state=Open
2024-06-14T14:52:35.497102Z TRACE server_handshake:Connection{peer=Server}:poll:FramedRead::poll_next: h2::codec::framed_read: poll
2024-06-14T14:52:35.497121Z TRACE server_handshake:Connection{peer=Server}:poll:FramedRead::poll_next: h2::codec::framed_read: read.bytes=17
2024-06-14T14:52:35.497145Z TRACE server_handshake:Connection{peer=Server}:poll:FramedRead::poll_next:FramedRead::decode_frame{offset=17}: h2::codec::framed_read: decoding frame from 17B
2024-06-14T14:52:35.497444Z TRACE server_handshake:Connection{peer=Server}:poll:FramedRead::poll_next:FramedRead::decode_frame{offset=17}: h2::codec::framed_read: frame.kind=GoAway
2024-06-14T14:52:35.497469Z DEBUG server_handshake:Connection{peer=Server}:poll:FramedRead::poll_next: h2::codec::framed_read: received frame=GoAway { error_code: NO_ERROR, last_stream_id: StreamId(0) }
2024-06-14T14:52:35.497488Z TRACE server_handshake:Connection{peer=Server}:poll: h2::proto::connection: recv GOAWAY frame=GoAway { error_code: NO_ERROR, last_stream_id: StreamId(0) }
2024-06-14T14:52:35.497791Z TRACE server_handshake:Connection{peer=Server}:poll:FramedRead::poll_next: h2::codec::framed_read: poll
2024-06-14T14:52:35.497810Z TRACE server_handshake:Connection{peer=Server}:poll: h2::proto::connection: codec closed
2024-06-14T14:52:35.497821Z TRACE server_handshake:Connection{peer=Server}:poll: h2::proto::streams::streams: Streams::recv_eof
2024-06-14T14:52:35.498140Z TRACE server_handshake:Connection{peer=Server}:poll: h2::proto::connection: connection.state=Closing(NO_ERROR, Library)
2024-06-14T14:52:35.498153Z TRACE server_handshake:Connection{peer=Server}:poll: h2::proto::connection: connection closing after flush
2024-06-14T14:52:35.498166Z TRACE server_handshake:Connection{peer=Server}:poll:FramedWrite::flush: h2::codec::framed_write: flushing buffer
2024-06-14T14:52:35.498185Z TRACE server_handshake:Connection{peer=Server}:poll: h2::proto::connection: connection.state=Closed(NO_ERROR, Library)
2024-06-14T14:52:35.498470Z TRACE hyper::proto::h2::server: incoming connection complete
2024-06-14T14:52:35.498488Z TRACE h2::proto::streams::streams: Streams::recv_eof

Ma233 avatar Jun 14 '24 14:06 Ma233

If you don't have any other protocols open over the the connection and the request timeouts after the keep-alive timeout is over, the connection will be closed. This is expected behavior.

If you'd wish to keep the connection open, you could introduce a keep-alive protocol which just opens a new substream when a connection is established and keeps that substream open until you explicitly ask that protocol to close it. Maybe this would give the control you want?

altonen avatar Jun 14 '24 15:06 altonen

@altonen Hi, I opened a pull request #155 to enable timeout configuration of RequestResponseProtocol to keep-alive. I'm not sure if this change conforms to the design concept of litep2p. It's only used to describe a direction of solution.

Ma233 avatar Jun 15 '24 00:06 Ma233

This has been included in a litep2p release, thanks again for contributing 🙏

Will close for now, feel free to reopen anytime if you have more questions

lexnv avatar Feb 27 '25 09:02 lexnv