Skip to content

Commit 83f7a79

Browse files
committed
pkg/loop: reinitialise standard capabilities
1 parent 1c82519 commit 83f7a79

File tree

2 files changed

+13
-3
lines changed

2 files changed

+13
-3
lines changed

pkg/loop/internal/core/services/capability/standard/standard_capabilities.go

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,8 @@ type StandardCapabilitiesClient struct {
4242
*goplugin.ServiceClient
4343
*net.BrokerExt
4444

45-
resources []net.Resource
45+
resources []net.Resource
46+
initializeDeps *core.StandardCapabilitiesDependencies
4647
}
4748

4849
var _ StandardCapabilities = (*StandardCapabilitiesClient)(nil)
@@ -58,6 +59,14 @@ func NewStandardCapabilitiesClient(brokerCfg net.BrokerConfig) *StandardCapabili
5859
}
5960
}
6061

62+
// Reinitialise calls Initialise with cached deps from the previous call, if one was already made.
63+
func (c *StandardCapabilitiesClient) Reinitialise(ctx context.Context) error {
64+
if c.initializeDeps == nil {
65+
return nil
66+
}
67+
return c.Initialise(ctx, *c.initializeDeps)
68+
}
69+
6170
func (c *StandardCapabilitiesClient) Initialise(ctx context.Context, dependencies core.StandardCapabilitiesDependencies) error {
6271
config := dependencies.Config
6372
telemetryService := dependencies.TelemetryService
@@ -187,6 +196,7 @@ func (c *StandardCapabilitiesClient) Initialise(ctx context.Context, dependencie
187196
}
188197

189198
c.resources = resources
199+
c.initializeDeps = &dependencies
190200

191201
return nil
192202
}

pkg/loop/standard_capabilities.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -69,11 +69,11 @@ type StandardCapabilitiesService struct {
6969

7070
func NewStandardCapabilitiesService(lggr logger.Logger, grpcOpts GRPCOpts, cmd func() *exec.Cmd) *StandardCapabilitiesService {
7171
newService := func(ctx context.Context, instance any) (StandardCapabilities, services.HealthReporter, error) {
72-
scs, ok := instance.(StandardCapabilities)
72+
scs, ok := instance.(*standardcapability.StandardCapabilitiesClient)
7373
if !ok {
7474
return nil, nil, fmt.Errorf("expected StandardCapabilities but got %T", instance)
7575
}
76-
return scs, scs, nil
76+
return scs, scs, scs.Reinitialise(ctx)
7777
}
7878
stopCh := make(chan struct{})
7979
lggr = logger.Named(lggr, "StandardCapabilities")

0 commit comments

Comments
 (0)