Skip to content

Commit e56c453

Browse files
committed
TUN-5697: Listen for UpdateConfiguration RPC in quic transport
1 parent d78a5ba commit e56c453

File tree

3 files changed

+12
-12
lines changed

3 files changed

+12
-12
lines changed

connection/quic.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -265,8 +265,8 @@ func (q *QUICConnection) UnregisterUdpSession(ctx context.Context, sessionID uui
265265
}
266266

267267
// UpdateConfiguration is the RPC method invoked by edge when there is a new configuration
268-
func (q *QUICConnection) UpdateConfiguration(ctx context.Context, version int32, config []byte) (*tunnelpogs.UpdateConfigurationResponse, error) {
269-
return nil, fmt.Errorf("TODO: TUN-5698")
268+
func (q *QUICConnection) UpdateConfiguration(ctx context.Context, version int32, config []byte) *tunnelpogs.UpdateConfigurationResponse {
269+
return q.orchestrator.UpdateConfig(version, config)
270270
}
271271

272272
// streamReadWriteAcker is a light wrapper over QUIC streams with a callback to send response back to

quic/quic_protocol_test.go

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -231,14 +231,18 @@ type mockConfigRPCServer struct {
231231
config []byte
232232
}
233233

234-
func (s mockConfigRPCServer) UpdateConfiguration(_ context.Context, version int32, config []byte) (*tunnelpogs.UpdateConfigurationResponse, error) {
234+
func (s mockConfigRPCServer) UpdateConfiguration(_ context.Context, version int32, config []byte) *tunnelpogs.UpdateConfigurationResponse {
235235
if s.version != version {
236-
return nil, fmt.Errorf("expect version %d, got %d", s.version, version)
236+
return &tunnelpogs.UpdateConfigurationResponse{
237+
Err: fmt.Errorf("expect version %d, got %d", s.version, version),
238+
}
237239
}
238240
if !bytes.Equal(s.config, config) {
239-
return nil, fmt.Errorf("expect config %v, got %v", s.config, config)
241+
return &tunnelpogs.UpdateConfigurationResponse{
242+
Err: fmt.Errorf("expect config %v, got %v", s.config, config),
243+
}
240244
}
241-
return &tunnelpogs.UpdateConfigurationResponse{LastAppliedVersion: version}, nil
245+
return &tunnelpogs.UpdateConfigurationResponse{LastAppliedVersion: version}
242246
}
243247

244248
type mockRPCStream struct {

tunnelrpc/pogs/configurationrpc.go

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ import (
1111
)
1212

1313
type ConfigurationManager interface {
14-
UpdateConfiguration(ctx context.Context, version int32, config []byte) (*UpdateConfigurationResponse, error)
14+
UpdateConfiguration(ctx context.Context, version int32, config []byte) *UpdateConfigurationResponse
1515
}
1616

1717
type ConfigurationManager_PogsImpl struct {
@@ -31,16 +31,12 @@ func (i ConfigurationManager_PogsImpl) UpdateConfiguration(p tunnelrpc.Configura
3131
return err
3232
}
3333

34-
updateResp, err := i.impl.UpdateConfiguration(p.Ctx, version, config)
35-
if err != nil {
36-
return err
37-
}
38-
3934
result, err := p.Results.NewResult()
4035
if err != nil {
4136
return err
4237
}
4338

39+
updateResp := i.impl.UpdateConfiguration(p.Ctx, version, config)
4440
return updateResp.Marshal(result)
4541
}
4642

0 commit comments

Comments
 (0)