fix(handler): do call handler methods when initialize server (#118)
This commit is contained in:
parent
d0962ec9ee
commit
31da5ff02d
1 changed files with 40 additions and 14 deletions
|
|
@ -504,15 +504,16 @@ where
|
|||
T: IntoTransport<R, E, A>,
|
||||
E: std::error::Error + Send + Sync + 'static,
|
||||
{
|
||||
serve_inner(service, transport, peer_info, Default::default(), ct).await
|
||||
let (peer, peer_rx) = Peer::new(Arc::new(AtomicU32RequestIdProvider::default()), peer_info);
|
||||
serve_inner(service, transport, peer, peer_rx, ct).await
|
||||
}
|
||||
|
||||
#[instrument(skip_all)]
|
||||
async fn serve_inner<R, S, T, E, A>(
|
||||
mut service: S,
|
||||
transport: T,
|
||||
peer_info: R::PeerInfo,
|
||||
id_provider: Arc<AtomicU32Provider>,
|
||||
peer: Peer<R>,
|
||||
mut peer_rx: tokio::sync::mpsc::Receiver<PeerSinkMessage<R>>,
|
||||
ct: CancellationToken,
|
||||
) -> Result<RunningService<R, S>, E>
|
||||
where
|
||||
|
|
@ -525,14 +526,13 @@ where
|
|||
const SINK_PROXY_BUFFER_SIZE: usize = 64;
|
||||
let (sink_proxy_tx, mut sink_proxy_rx) =
|
||||
tokio::sync::mpsc::channel::<TxJsonRpcMessage<R>>(SINK_PROXY_BUFFER_SIZE);
|
||||
|
||||
let peer_info = peer.peer_info();
|
||||
if R::IS_CLIENT {
|
||||
tracing::info!(?peer_info, "Service initialized as client");
|
||||
} else {
|
||||
tracing::info!(?peer_info, "Service initialized as server");
|
||||
}
|
||||
|
||||
let (peer, mut peer_proxy) = <Peer<R>>::new(id_provider, peer_info);
|
||||
service.set_peer(peer.clone());
|
||||
let mut local_responder_pool = HashMap::new();
|
||||
let mut local_ct_pool = HashMap::<RequestId, CancellationToken>::new();
|
||||
|
|
@ -576,7 +576,7 @@ where
|
|||
break QuitReason::Closed
|
||||
}
|
||||
}
|
||||
m = peer_proxy.recv() => {
|
||||
m = peer_rx.recv() => {
|
||||
if let Some(m) = m {
|
||||
Event::ProxyMessage(m)
|
||||
} else {
|
||||
|
|
|
|||
Loading…
Reference in a new issue