Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NewMaterializerRequest ¶ added in v1.13.0
func NewMaterializerRequest(srvReq structs.ServiceSpecificRequest) func(index uint64) *pbsubscribe.SubscribeRequest
Types ¶
type CacheGetter ¶
type Client ¶
type Client struct { NetRPC NetRPC Cache CacheGetter ViewStore MaterializedViewStore MaterializerDeps MaterializerDeps CacheName string UseStreamingBackend bool QueryOptionDefaults func(options *structs.QueryOptions) }
Client provides access to service health data.
func (*Client) ServiceNodes ¶
func (c *Client) ServiceNodes( ctx context.Context, req structs.ServiceSpecificRequest, ) (structs.IndexedCheckServiceNodes, cache.ResultMeta, error)
type HealthView ¶ added in v1.13.0
type HealthView struct {
// contains filtered or unexported fields
}
HealthView implements submatview.View for storing the view state of a service health result. We store it as a map to make updates and deletions a little easier but we could just store a result type (IndexedCheckServiceNodes) and update it in place for each event - that involves re-sorting each time etc. though.
func NewHealthView ¶ added in v1.13.0
func NewHealthView(req structs.ServiceSpecificRequest) (*HealthView, error)
func (*HealthView) Reset ¶ added in v1.13.0
func (s *HealthView) Reset()
func (*HealthView) Result ¶ added in v1.13.0
func (s *HealthView) Result(index uint64) interface{}
Result returns the structs.IndexedCheckServiceNodes stored by this view.
func (*HealthView) Update ¶ added in v1.13.0
func (s *HealthView) Update(events []*pbsubscribe.Event) error
Update implements View
type MaterializedViewStore ¶ added in v1.10.0
type MaterializedViewStore interface { Get(ctx context.Context, req submatview.Request) (submatview.Result, error) NotifyCallback(ctx context.Context, req submatview.Request, cID string, cb cache.Callback) error }
type MaterializerDeps ¶ added in v1.10.0
type MaterializerDeps struct { Conn *grpc.ClientConn Logger hclog.Logger }
Click to show internal directories.
Click to hide internal directories.