rpc: add Closing method
This commit is contained in:
parent
8b725b4b8c
commit
8b8bb5e833
@ -38,6 +38,8 @@ type Common interface {
|
|||||||
|
|
||||||
// trigger graceful shutdown
|
// trigger graceful shutdown
|
||||||
Shutdown(context.Context) error
|
Shutdown(context.Context) error
|
||||||
|
|
||||||
|
Closing(context.Context) (<-chan struct{}, error)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Version provides various build-time information
|
// Version provides various build-time information
|
||||||
|
@ -51,6 +51,7 @@ type CommonStruct struct {
|
|||||||
LogSetLevel func(context.Context, string, string) error `perm:"write"`
|
LogSetLevel func(context.Context, string, string) error `perm:"write"`
|
||||||
|
|
||||||
Shutdown func(context.Context) error `perm:"admin"`
|
Shutdown func(context.Context) error `perm:"admin"`
|
||||||
|
Closing func(context.Context) (<-chan struct{}, error) `perm:"read"`
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -313,6 +314,10 @@ func (c *CommonStruct) Shutdown(ctx context.Context) error {
|
|||||||
return c.Internal.Shutdown(ctx)
|
return c.Internal.Shutdown(ctx)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (c *CommonStruct) Closing(ctx context.Context) (<-chan struct{}, error) {
|
||||||
|
return c.Internal.Closing(ctx)
|
||||||
|
}
|
||||||
|
|
||||||
// FullNodeStruct
|
// FullNodeStruct
|
||||||
|
|
||||||
func (c *FullNodeStruct) ClientListImports(ctx context.Context) ([]api.Import, error) {
|
func (c *FullNodeStruct) ClientListImports(ctx context.Context) ([]api.Import, error) {
|
||||||
|
@ -139,4 +139,8 @@ func (a *CommonAPI) Shutdown(ctx context.Context) error {
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (a *CommonAPI) Closing(ctx context.Context) (<-chan struct{}, error) {
|
||||||
|
return make(chan struct{}), nil // relies on jsonrpc closing
|
||||||
|
}
|
||||||
|
|
||||||
var _ api.Common = &CommonAPI{}
|
var _ api.Common = &CommonAPI{}
|
||||||
|
Loading…
Reference in New Issue
Block a user