Skip to content

Commit 1a2698f

Browse files
Removed storing arguments in the data providers
1 parent b9abf68 commit 1a2698f

File tree

4 files changed

+31
-39
lines changed

4 files changed

+31
-39
lines changed

engine/access/rest/websockets/controller.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -164,6 +164,7 @@ func (c *Controller) handleSubscribe(ctx context.Context, msg models.SubscribeMe
164164
dp, err := c.dataProviderFactory.NewDataProvider(ctx, msg.Topic, msg.Arguments, c.communicationChannel)
165165
if err != nil {
166166
// TODO: handle error here
167+
c.logger.Error().Err(err).Msgf("error while creating data provider for topic: %s", msg.Topic)
167168
}
168169

169170
c.dataProviders.Add(dp.ID(), dp)

engine/access/rest/websockets/data_providers/block_digests_provider.go

Lines changed: 10 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@ type BlockDigestsDataProvider struct {
1818
*BaseDataProviderImpl
1919

2020
logger zerolog.Logger
21-
args BlocksArguments
2221
api access.API
2322
}
2423

@@ -38,20 +37,18 @@ func NewBlockDigestsDataProvider(
3837
api: api,
3938
}
4039

41-
// Initialize arguments passed to the provider.
42-
var err error
43-
p.args, err = ParseBlocksArguments(arguments)
40+
// Parse arguments passed to the provider.
41+
blockArgs, err := ParseBlocksArguments(arguments)
4442
if err != nil {
4543
return nil, fmt.Errorf("invalid arguments: %w", err)
4644
}
4745

48-
ctx, cancel := context.WithCancel(ctx)
49-
46+
subCtx, cancel := context.WithCancel(ctx)
5047
p.BaseDataProviderImpl = NewBaseDataProviderImpl(
5148
topic,
5249
cancel,
5350
send,
54-
p.createSubscription(ctx), // Set up a subscription to block digests based on arguments.
51+
p.createSubscription(subCtx, blockArgs), // Set up a subscription to block digests based on arguments.
5552
)
5653

5754
return p, nil
@@ -65,16 +62,16 @@ func (p *BlockDigestsDataProvider) Run() error {
6562
}
6663

6764
// createSubscription creates a new subscription using the specified input arguments.
68-
func (p *BlockDigestsDataProvider) createSubscription(ctx context.Context) subscription.Subscription {
69-
if p.args.StartBlockID != flow.ZeroID {
70-
return p.api.SubscribeBlockDigestsFromStartBlockID(ctx, p.args.StartBlockID, p.args.BlockStatus)
65+
func (p *BlockDigestsDataProvider) createSubscription(ctx context.Context, args BlocksArguments) subscription.Subscription {
66+
if args.StartBlockID != flow.ZeroID {
67+
return p.api.SubscribeBlockDigestsFromStartBlockID(ctx, args.StartBlockID, args.BlockStatus)
7168
}
7269

73-
if p.args.StartBlockHeight != request.EmptyHeight {
74-
return p.api.SubscribeBlockDigestsFromStartHeight(ctx, p.args.StartBlockHeight, p.args.BlockStatus)
70+
if args.StartBlockHeight != request.EmptyHeight {
71+
return p.api.SubscribeBlockDigestsFromStartHeight(ctx, args.StartBlockHeight, args.BlockStatus)
7572
}
7673

77-
return p.api.SubscribeBlockDigestsFromLatest(ctx, p.args.BlockStatus)
74+
return p.api.SubscribeBlockDigestsFromLatest(ctx, args.BlockStatus)
7875
}
7976

8077
// handleResponse processes a block digest and sends the formatted response.

engine/access/rest/websockets/data_providers/block_headers_provider.go

Lines changed: 10 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@ type BlockHeadersDataProvider struct {
1818
*BaseDataProviderImpl
1919

2020
logger zerolog.Logger
21-
args BlocksArguments
2221
api access.API
2322
}
2423

@@ -38,20 +37,18 @@ func NewBlockHeadersDataProvider(
3837
api: api,
3938
}
4039

41-
// Initialize arguments passed to the provider.
42-
var err error
43-
p.args, err = ParseBlocksArguments(arguments)
40+
// Parse arguments passed to the provider.
41+
blockArgs, err := ParseBlocksArguments(arguments)
4442
if err != nil {
4543
return nil, fmt.Errorf("invalid arguments: %w", err)
4644
}
4745

48-
ctx, cancel := context.WithCancel(ctx)
49-
46+
subCtx, cancel := context.WithCancel(ctx)
5047
p.BaseDataProviderImpl = NewBaseDataProviderImpl(
5148
topic,
5249
cancel,
5350
send,
54-
p.createSubscription(ctx), // Set up a subscription to block headers based on arguments.
51+
p.createSubscription(subCtx, blockArgs), // Set up a subscription to block headers based on arguments.
5552
)
5653

5754
return p, nil
@@ -65,16 +62,16 @@ func (p *BlockHeadersDataProvider) Run() error {
6562
}
6663

6764
// createSubscription creates a new subscription using the specified input arguments.
68-
func (p *BlockHeadersDataProvider) createSubscription(ctx context.Context) subscription.Subscription {
69-
if p.args.StartBlockID != flow.ZeroID {
70-
return p.api.SubscribeBlockHeadersFromStartBlockID(ctx, p.args.StartBlockID, p.args.BlockStatus)
65+
func (p *BlockHeadersDataProvider) createSubscription(ctx context.Context, args BlocksArguments) subscription.Subscription {
66+
if args.StartBlockID != flow.ZeroID {
67+
return p.api.SubscribeBlockHeadersFromStartBlockID(ctx, args.StartBlockID, args.BlockStatus)
7168
}
7269

73-
if p.args.StartBlockHeight != request.EmptyHeight {
74-
return p.api.SubscribeBlockHeadersFromStartHeight(ctx, p.args.StartBlockHeight, p.args.BlockStatus)
70+
if args.StartBlockHeight != request.EmptyHeight {
71+
return p.api.SubscribeBlockHeadersFromStartHeight(ctx, args.StartBlockHeight, args.BlockStatus)
7572
}
7673

77-
return p.api.SubscribeBlockHeadersFromLatest(ctx, p.args.BlockStatus)
74+
return p.api.SubscribeBlockHeadersFromLatest(ctx, args.BlockStatus)
7875
}
7976

8077
// handleResponse processes a block header and sends the formatted response.

engine/access/rest/websockets/data_providers/blocks_provider.go

Lines changed: 10 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@ type BlocksDataProvider struct {
2727
*BaseDataProviderImpl
2828

2929
logger zerolog.Logger
30-
args BlocksArguments
3130
api access.API
3231
}
3332

@@ -47,20 +46,18 @@ func NewBlocksDataProvider(
4746
api: api,
4847
}
4948

50-
// Initialize arguments passed to the provider.
51-
var err error
52-
p.args, err = ParseBlocksArguments(arguments)
49+
// Parse arguments passed to the provider.
50+
blockArgs, err := ParseBlocksArguments(arguments)
5351
if err != nil {
5452
return nil, fmt.Errorf("invalid arguments: %w", err)
5553
}
5654

57-
ctx, cancel := context.WithCancel(ctx)
58-
55+
subCtx, cancel := context.WithCancel(ctx)
5956
p.BaseDataProviderImpl = NewBaseDataProviderImpl(
6057
topic,
6158
cancel,
6259
send,
63-
p.createSubscription(ctx), // Set up a subscription to blocks based on arguments.
60+
p.createSubscription(subCtx, blockArgs), // Set up a subscription to blocks based on arguments.
6461
)
6562

6663
return p, nil
@@ -74,16 +71,16 @@ func (p *BlocksDataProvider) Run() error {
7471
}
7572

7673
// createSubscription creates a new subscription using the specified input arguments.
77-
func (p *BlocksDataProvider) createSubscription(ctx context.Context) subscription.Subscription {
78-
if p.args.StartBlockID != flow.ZeroID {
79-
return p.api.SubscribeBlocksFromStartBlockID(ctx, p.args.StartBlockID, p.args.BlockStatus)
74+
func (p *BlocksDataProvider) createSubscription(ctx context.Context, args BlocksArguments) subscription.Subscription {
75+
if args.StartBlockID != flow.ZeroID {
76+
return p.api.SubscribeBlocksFromStartBlockID(ctx, args.StartBlockID, args.BlockStatus)
8077
}
8178

82-
if p.args.StartBlockHeight != request.EmptyHeight {
83-
return p.api.SubscribeBlocksFromStartHeight(ctx, p.args.StartBlockHeight, p.args.BlockStatus)
79+
if args.StartBlockHeight != request.EmptyHeight {
80+
return p.api.SubscribeBlocksFromStartHeight(ctx, args.StartBlockHeight, args.BlockStatus)
8481
}
8582

86-
return p.api.SubscribeBlocksFromLatest(ctx, p.args.BlockStatus)
83+
return p.api.SubscribeBlocksFromLatest(ctx, args.BlockStatus)
8784
}
8885

8986
// handleResponse processes a block and sends the formatted response.

0 commit comments

Comments
 (0)