mirror of
https://github.com/fluencelabs/rust-libp2p
synced 2025-06-18 20:41:25 +00:00
swarm/src/behaviour: Fix outdated comment on derive's out_event (#2318)
The default behaviour changed with https://github.com/libp2p/rust-libp2p/pull/2214. This updates the doc comment. Initially raised in https://github.com/libp2p/rust-libp2p/pull/2290#issuecomment-944415562.
This commit is contained in:
@ -39,27 +39,23 @@ type THandlerInEvent<THandler> =
|
|||||||
///
|
///
|
||||||
/// Crate users can implement this trait by using the the `#[derive(NetworkBehaviour)]`
|
/// Crate users can implement this trait by using the the `#[derive(NetworkBehaviour)]`
|
||||||
/// proc macro re-exported by the `libp2p` crate. The macro generates a delegating `trait`
|
/// proc macro re-exported by the `libp2p` crate. The macro generates a delegating `trait`
|
||||||
/// implementation for the `struct`, which delegates method calls to all trait members.
|
/// implementation for the `struct`, which delegates method calls to all struct members.
|
||||||
|
///
|
||||||
|
/// Struct members that don't implement [`NetworkBehaviour`] must be annotated with `#[behaviour(ignore)]`.
|
||||||
///
|
///
|
||||||
/// By default the derive sets the [`NetworkBehaviour::OutEvent`] as `()` but this can be overridden
|
/// By default the derive sets the [`NetworkBehaviour::OutEvent`] as `()` but this can be overridden
|
||||||
/// with `#[behaviour(out_event = "AnotherType")]`.
|
/// with `#[behaviour(out_event = "AnotherType")]`.
|
||||||
///
|
///
|
||||||
/// Struct members that don't implement [`NetworkBehaviour`] must be annotated with `#[behaviour(ignore)]`.
|
/// When setting a custom `out_event` users have to implement [`From`] converting from each of the
|
||||||
|
/// event types generated by the struct members to the custom `out_event`.
|
||||||
///
|
///
|
||||||
/// By default, events generated by the remaining members are delegated to [`NetworkBehaviourEventProcess`]
|
/// Alternatively, users can specify `#[behaviour(event_process = true)]`. Events generated by the
|
||||||
/// implementations. Those must be provided by the user on the type that [`NetworkBehaviour`] is
|
/// struct members are delegated to [`NetworkBehaviourEventProcess`] implementations. Those must be
|
||||||
/// derived on.
|
/// provided by the user on the type that [`NetworkBehaviour`] is derived on.
|
||||||
///
|
///
|
||||||
/// Alternatively, users can specify `#[behaviour(event_process = false)]`. In this case, users
|
/// Optionally one can provide a custom `poll` function through the `#[behaviour(poll_method =
|
||||||
/// should provide a custom `out_event` and implement [`From`] for each of the event types generated
|
/// "poll")]` attribute. This function must have the same signature as the [`NetworkBehaviour#poll`]
|
||||||
/// by the struct members.
|
/// function and will be called last within the generated [`NetworkBehaviour`] implementation.
|
||||||
/// Not processing events within the derived [`NetworkBehaviour`] will cause them to be emitted as
|
|
||||||
/// part of polling the swarm in [`SwarmEvent::Behaviour`](crate::SwarmEvent::Behaviour).
|
|
||||||
///
|
|
||||||
/// Optionally one can provide a custom `poll` function through the `#[behaviour(poll_method = "poll")]`
|
|
||||||
/// attribute.
|
|
||||||
/// This function must have the same signature as the [`NetworkBehaviour#poll`] function and will
|
|
||||||
/// be called last within the generated [`NetworkBehaviour`] implementation.
|
|
||||||
pub trait NetworkBehaviour: Send + 'static {
|
pub trait NetworkBehaviour: Send + 'static {
|
||||||
/// Handler for all the protocols the network behaviour supports.
|
/// Handler for all the protocols the network behaviour supports.
|
||||||
type ProtocolsHandler: IntoProtocolsHandler;
|
type ProtocolsHandler: IntoProtocolsHandler;
|
||||||
|
Reference in New Issue
Block a user