fix(filter-subscribe): params.selectedPeer not set (#836)

* fix(filter-subscribe): params.selectedPeer not set
This commit is contained in:
harsh jain 2023-10-26 05:06:44 +07:00 committed by GitHub
parent 2701a38b2a
commit 0ba8b2caeb
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 21 additions and 3 deletions

View File

@ -311,7 +311,14 @@ func (wf *WakuFilterLightNode) Subscribe(ctx context.Context, contentFilter prot
cFilter.PubsubTopic = pubSubTopic cFilter.PubsubTopic = pubSubTopic
cFilter.ContentTopics = protocol.NewContentTopicSet(cTopics...) cFilter.ContentTopics = protocol.NewContentTopicSet(cTopics...)
err := wf.request(ctx, params, pb.FilterSubscribeRequest_SUBSCRIBE, cFilter) paramsCopy := params.Copy()
paramsCopy.selectedPeer = selectedPeer
err := wf.request(
ctx,
paramsCopy,
pb.FilterSubscribeRequest_SUBSCRIBE,
cFilter,
)
if err != nil { if err != nil {
wf.log.Error("Failed to subscribe", zap.String("pubSubTopic", pubSubTopic), zap.Strings("contentTopics", cTopics), wf.log.Error("Failed to subscribe", zap.String("pubSubTopic", pubSubTopic), zap.Strings("contentTopics", cTopics),
zap.Error(err)) zap.Error(err))
@ -532,7 +539,9 @@ func (wf *WakuFilterLightNode) UnsubscribeWithSubscription(ctx context.Context,
if !wf.subscriptions.Has(sub.PeerID, sub.ContentFilter) { if !wf.subscriptions.Has(sub.PeerID, sub.ContentFilter) {
// Last sub for this [peer, contentFilter] pair // Last sub for this [peer, contentFilter] pair
err = wf.unsubscribeFromServer(ctx, &FilterSubscribeParameters{selectedPeer: sub.PeerID, requestID: params.requestID}, sub.ContentFilter) paramsCopy := params.Copy()
paramsCopy.selectedPeer = sub.PeerID
err = wf.unsubscribeFromServer(ctx, paramsCopy, sub.ContentFilter)
resultChan <- WakuFilterPushResult{ resultChan <- WakuFilterPushResult{
Err: err, Err: err,
PeerID: sub.PeerID, PeerID: sub.PeerID,
@ -586,9 +595,11 @@ func (wf *WakuFilterLightNode) unsubscribeAll(ctx context.Context, opts ...Filte
} }
}() }()
paramsCopy := params.Copy()
paramsCopy.selectedPeer = peerID
err := wf.request( err := wf.request(
ctx, ctx,
&FilterSubscribeParameters{selectedPeer: peerID, requestID: params.requestID}, params,
pb.FilterSubscribeRequest_UNSUBSCRIBE_ALL, pb.FilterSubscribeRequest_UNSUBSCRIBE_ALL,
protocol.ContentFilter{}) protocol.ContentFilter{})
if err != nil { if err != nil {

View File

@ -11,6 +11,13 @@ import (
"go.uber.org/zap" "go.uber.org/zap"
) )
func (old *FilterSubscribeParameters) Copy() *FilterSubscribeParameters {
return &FilterSubscribeParameters{
selectedPeer: old.selectedPeer,
requestID: old.requestID,
}
}
type ( type (
FilterSubscribeParameters struct { FilterSubscribeParameters struct {
selectedPeer peer.ID selectedPeer peer.ID