You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Now that #872 has landed, we have the abstractions and the hooks in the right places to actively intercept inbound and outbound connections at the following lifecycle stages:
peer being dialled.
address being dialled.
connection being accepted.
connection secured and authenticated.
connection fully upgraded (or equivalent, i.e. we have a fully capable connection).
Next step is to implement gaters for common use cases.
Goals
Implement gaters for common use cases.
blacklisting peers by peer ID.
rejecting connections based on current connection count.
rejecting connections based on desired in/out connection quotas.
functional connection gater where user can plug in specific functions for each intercept, so that folks don't have to implement entire interfaces when they only want to capture at a specific stage.
Look at MockConnGater in swarm, and make those tests use this new functional gater.
It looks like users have been successfully been using the connection gater without any default implementations. I'm not sure if there's a lot of value in providing implementations here.
Motivation
Now that #872 has landed, we have the abstractions and the hooks in the right places to actively intercept inbound and outbound connections at the following lifecycle stages:
Next step is to implement gaters for common use cases.
Goals
MockConnGater
in swarm, and make those tests use this new functional gater.localhostMockGater
in the QUIC transport(https://github.com/libp2p/go-libp2p-quic-transport/blob/bc2b6e0a86d5f16433de71e5796d48d9c6f7c7f5/conn_test.go#L28) and make those tests use this. Add a test forInterceptSecured
.This is a follow-up to #872.
The text was updated successfully, but these errors were encountered: