From 43dfa5faf448bc07b66ca246fb95edd4a1301dc2 Mon Sep 17 00:00:00 2001 From: Aarsh Shah Date: Fri, 8 May 2020 11:47:54 +0530 Subject: [PATCH] check if peer supports a protocol without allocation --- peerstore/peerstore.go | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/peerstore/peerstore.go b/peerstore/peerstore.go index 496d34a..f61a096 100644 --- a/peerstore/peerstore.go +++ b/peerstore/peerstore.go @@ -233,5 +233,12 @@ 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) + + // IsProtocolSupported returns true if the peer supports the given protocol and false otherwise. + // If the returned error is not nil, the result is indeterminate. + IsProtocolSupported(peer.ID, string) (bool, error) }