Merge pull request #148 from libp2p/feat/supports-alloc

Interface to verify if a peer supports a protocol without making allocations.
This commit is contained in:
Aarsh Shah 2020-05-14 16:18:09 +05:30 committed by GitHub
commit 1c39960696
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -233,5 +233,13 @@ type ProtoBook interface {
AddProtocols(peer.ID, ...string) error
SetProtocols(peer.ID, ...string) error
RemoveProtocols(peer.ID, ...string) error
// SupportsProtocols returns the set of protocols the peer supports from among the given protocols.
// If the returned error is not nil, the result is indeterminate.
SupportsProtocols(peer.ID, ...string) ([]string, error)
// FirstSupportedProtocol returns the first protocol that the peer supports among the given protocols.
// If the peer does not support any of the given protocols, this function will return an empty string and a nil error.
// If the returned error is not nil, the result is indeterminate.
FirstSupportedProtocol(peer.ID, ...string) (string, error)
}