Documentation ¶
Index ¶
- Variables
- func RegisterStateChangeSubscriptionServer(s *grpc.Server, srv StateChangeSubscriptionServer)
- type CatalogOp
- type Event
- func (*Event) Descriptor() ([]byte, []int)
- func (m *Event) GetEndOfSnapshot() bool
- func (m *Event) GetEventBatch() *EventBatch
- func (m *Event) GetIndex() uint64
- func (m *Event) GetNewSnapshotToFollow() bool
- func (m *Event) GetPayload() isEvent_Payload
- func (m *Event) GetServiceHealth() *ServiceHealthUpdate
- func (m *Event) Marshal() (dAtA []byte, err error)
- func (msg *Event) MarshalBinary() ([]byte, error)
- func (m *Event) MarshalTo(dAtA []byte) (int, error)
- func (m *Event) MarshalToSizedBuffer(dAtA []byte) (int, error)
- func (*Event) ProtoMessage()
- func (m *Event) Reset()
- func (m *Event) Size() (n int)
- func (m *Event) String() string
- func (m *Event) Unmarshal(dAtA []byte) error
- func (msg *Event) UnmarshalBinary(b []byte) error
- func (m *Event) XXX_DiscardUnknown()
- func (m *Event) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
- func (m *Event) XXX_Merge(src proto.Message)
- func (*Event) XXX_OneofWrappers() []interface{}
- func (m *Event) XXX_Size() int
- func (m *Event) XXX_Unmarshal(b []byte) error
- type EventBatch
- func (*EventBatch) Descriptor() ([]byte, []int)
- func (m *EventBatch) GetEvents() []*Event
- func (m *EventBatch) Marshal() (dAtA []byte, err error)
- func (msg *EventBatch) MarshalBinary() ([]byte, error)
- func (m *EventBatch) MarshalTo(dAtA []byte) (int, error)
- func (m *EventBatch) MarshalToSizedBuffer(dAtA []byte) (int, error)
- func (*EventBatch) ProtoMessage()
- func (m *EventBatch) Reset()
- func (m *EventBatch) Size() (n int)
- func (m *EventBatch) String() string
- func (m *EventBatch) Unmarshal(dAtA []byte) error
- func (msg *EventBatch) UnmarshalBinary(b []byte) error
- func (m *EventBatch) XXX_DiscardUnknown()
- func (m *EventBatch) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
- func (m *EventBatch) XXX_Merge(src proto.Message)
- func (m *EventBatch) XXX_Size() int
- func (m *EventBatch) XXX_Unmarshal(b []byte) error
- type Event_EndOfSnapshot
- type Event_EventBatch
- type Event_NewSnapshotToFollow
- type Event_ServiceHealth
- type ServiceHealthUpdate
- func (*ServiceHealthUpdate) Descriptor() ([]byte, []int)
- func (m *ServiceHealthUpdate) GetCheckServiceNode() *pbservice.CheckServiceNode
- func (m *ServiceHealthUpdate) GetOp() CatalogOp
- func (m *ServiceHealthUpdate) Marshal() (dAtA []byte, err error)
- func (msg *ServiceHealthUpdate) MarshalBinary() ([]byte, error)
- func (m *ServiceHealthUpdate) MarshalTo(dAtA []byte) (int, error)
- func (m *ServiceHealthUpdate) MarshalToSizedBuffer(dAtA []byte) (int, error)
- func (*ServiceHealthUpdate) ProtoMessage()
- func (m *ServiceHealthUpdate) Reset()
- func (m *ServiceHealthUpdate) Size() (n int)
- func (m *ServiceHealthUpdate) String() string
- func (m *ServiceHealthUpdate) Unmarshal(dAtA []byte) error
- func (msg *ServiceHealthUpdate) UnmarshalBinary(b []byte) error
- func (m *ServiceHealthUpdate) XXX_DiscardUnknown()
- func (m *ServiceHealthUpdate) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
- func (m *ServiceHealthUpdate) XXX_Merge(src proto.Message)
- func (m *ServiceHealthUpdate) XXX_Size() int
- func (m *ServiceHealthUpdate) XXX_Unmarshal(b []byte) error
- type StateChangeSubscriptionClient
- type StateChangeSubscriptionServer
- type StateChangeSubscription_SubscribeClient
- type StateChangeSubscription_SubscribeServer
- type SubscribeRequest
- func (*SubscribeRequest) Descriptor() ([]byte, []int)
- func (m *SubscribeRequest) GetDatacenter() string
- func (m *SubscribeRequest) GetIndex() uint64
- func (m *SubscribeRequest) GetKey() string
- func (m *SubscribeRequest) GetNamespace() string
- func (m *SubscribeRequest) GetToken() string
- func (m *SubscribeRequest) GetTopic() Topic
- func (m *SubscribeRequest) Marshal() (dAtA []byte, err error)
- func (msg *SubscribeRequest) MarshalBinary() ([]byte, error)
- func (m *SubscribeRequest) MarshalTo(dAtA []byte) (int, error)
- func (m *SubscribeRequest) MarshalToSizedBuffer(dAtA []byte) (int, error)
- func (*SubscribeRequest) ProtoMessage()
- func (m *SubscribeRequest) Reset()
- func (m *SubscribeRequest) Size() (n int)
- func (m *SubscribeRequest) String() string
- func (m *SubscribeRequest) Unmarshal(dAtA []byte) error
- func (msg *SubscribeRequest) UnmarshalBinary(b []byte) error
- func (m *SubscribeRequest) XXX_DiscardUnknown()
- func (m *SubscribeRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
- func (m *SubscribeRequest) XXX_Merge(src proto.Message)
- func (m *SubscribeRequest) XXX_Size() int
- func (m *SubscribeRequest) XXX_Unmarshal(b []byte) error
- type Topic
- type UnimplementedStateChangeSubscriptionServer
Constants ¶
This section is empty.
Variables ¶
var ( ErrInvalidLengthSubscribe = fmt.Errorf("proto: negative length found during unmarshaling") ErrIntOverflowSubscribe = fmt.Errorf("proto: integer overflow") ErrUnexpectedEndOfGroupSubscribe = fmt.Errorf("proto: unexpected end of group") )
var CatalogOp_name = map[int32]string{
0: "Register",
1: "Deregister",
}
var CatalogOp_value = map[string]int32{
"Register": 0,
"Deregister": 1,
}
var Topic_name = map[int32]string{
0: "Unknown",
1: "ServiceHealth",
2: "ServiceHealthConnect",
}
var Topic_value = map[string]int32{
"Unknown": 0,
"ServiceHealth": 1,
"ServiceHealthConnect": 2,
}
Functions ¶
func RegisterStateChangeSubscriptionServer ¶
func RegisterStateChangeSubscriptionServer(s *grpc.Server, srv StateChangeSubscriptionServer)
Types ¶
type Event ¶
type Event struct { // Index is the raft index at which the mutation took place. At the top // level of a subscription there will always be at most one Event per index. // If multiple events are published to the same topic in a single raft // transaction then the batch of events will be encoded inside a single // top-level event to ensure they are delivered atomically to clients. Index uint64 `protobuf:"varint,1,opt,name=Index,proto3" json:"Index,omitempty"` // Payload is the actual event content. // // Types that are valid to be assigned to Payload: // *Event_EndOfSnapshot // *Event_NewSnapshotToFollow // *Event_EventBatch // *Event_ServiceHealth Payload isEvent_Payload `protobuf_oneof:"Payload"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` }
Event describes a streaming update on a subscription. Events are used both to describe the current "snapshot" of the result as well as ongoing mutations to that snapshot.
func (*Event) Descriptor ¶
func (*Event) GetEndOfSnapshot ¶
func (*Event) GetEventBatch ¶
func (m *Event) GetEventBatch() *EventBatch
func (*Event) GetNewSnapshotToFollow ¶
func (*Event) GetPayload ¶
func (m *Event) GetPayload() isEvent_Payload
func (*Event) GetServiceHealth ¶
func (m *Event) GetServiceHealth() *ServiceHealthUpdate
func (*Event) MarshalBinary ¶
MarshalBinary implements encoding.BinaryMarshaler
func (*Event) ProtoMessage ¶
func (*Event) ProtoMessage()
func (*Event) UnmarshalBinary ¶
UnmarshalBinary implements encoding.BinaryUnmarshaler
func (*Event) XXX_DiscardUnknown ¶
func (m *Event) XXX_DiscardUnknown()
func (*Event) XXX_Marshal ¶
func (*Event) XXX_OneofWrappers ¶ added in v1.9.9
func (*Event) XXX_OneofWrappers() []interface{}
XXX_OneofWrappers is for the internal use of the proto package.
func (*Event) XXX_Unmarshal ¶
type EventBatch ¶
type EventBatch struct { Events []*Event `protobuf:"bytes,1,rep,name=Events,proto3" json:"Events,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` }
func (*EventBatch) Descriptor ¶
func (*EventBatch) Descriptor() ([]byte, []int)
func (*EventBatch) GetEvents ¶
func (m *EventBatch) GetEvents() []*Event
func (*EventBatch) Marshal ¶
func (m *EventBatch) Marshal() (dAtA []byte, err error)
func (*EventBatch) MarshalBinary ¶
func (msg *EventBatch) MarshalBinary() ([]byte, error)
MarshalBinary implements encoding.BinaryMarshaler
func (*EventBatch) MarshalToSizedBuffer ¶
func (m *EventBatch) MarshalToSizedBuffer(dAtA []byte) (int, error)
func (*EventBatch) ProtoMessage ¶
func (*EventBatch) ProtoMessage()
func (*EventBatch) Reset ¶
func (m *EventBatch) Reset()
func (*EventBatch) Size ¶
func (m *EventBatch) Size() (n int)
func (*EventBatch) String ¶
func (m *EventBatch) String() string
func (*EventBatch) Unmarshal ¶
func (m *EventBatch) Unmarshal(dAtA []byte) error
func (*EventBatch) UnmarshalBinary ¶
func (msg *EventBatch) UnmarshalBinary(b []byte) error
UnmarshalBinary implements encoding.BinaryUnmarshaler
func (*EventBatch) XXX_DiscardUnknown ¶
func (m *EventBatch) XXX_DiscardUnknown()
func (*EventBatch) XXX_Marshal ¶
func (m *EventBatch) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
func (*EventBatch) XXX_Merge ¶
func (m *EventBatch) XXX_Merge(src proto.Message)
func (*EventBatch) XXX_Size ¶
func (m *EventBatch) XXX_Size() int
func (*EventBatch) XXX_Unmarshal ¶
func (m *EventBatch) XXX_Unmarshal(b []byte) error
type Event_EndOfSnapshot ¶
type Event_EndOfSnapshot struct {
EndOfSnapshot bool `protobuf:"varint,2,opt,name=EndOfSnapshot,proto3,oneof" json:"EndOfSnapshot,omitempty"`
}
func (*Event_EndOfSnapshot) MarshalTo ¶
func (m *Event_EndOfSnapshot) MarshalTo(dAtA []byte) (int, error)
func (*Event_EndOfSnapshot) MarshalToSizedBuffer ¶
func (m *Event_EndOfSnapshot) MarshalToSizedBuffer(dAtA []byte) (int, error)
func (*Event_EndOfSnapshot) Size ¶
func (m *Event_EndOfSnapshot) Size() (n int)
type Event_EventBatch ¶
type Event_EventBatch struct {
EventBatch *EventBatch `protobuf:"bytes,4,opt,name=EventBatch,proto3,oneof" json:"EventBatch,omitempty"`
}
func (*Event_EventBatch) MarshalToSizedBuffer ¶
func (m *Event_EventBatch) MarshalToSizedBuffer(dAtA []byte) (int, error)
func (*Event_EventBatch) Size ¶
func (m *Event_EventBatch) Size() (n int)
type Event_NewSnapshotToFollow ¶
type Event_NewSnapshotToFollow struct {
NewSnapshotToFollow bool `protobuf:"varint,3,opt,name=NewSnapshotToFollow,proto3,oneof" json:"NewSnapshotToFollow,omitempty"`
}
func (*Event_NewSnapshotToFollow) MarshalTo ¶
func (m *Event_NewSnapshotToFollow) MarshalTo(dAtA []byte) (int, error)
func (*Event_NewSnapshotToFollow) MarshalToSizedBuffer ¶
func (m *Event_NewSnapshotToFollow) MarshalToSizedBuffer(dAtA []byte) (int, error)
func (*Event_NewSnapshotToFollow) Size ¶
func (m *Event_NewSnapshotToFollow) Size() (n int)
type Event_ServiceHealth ¶
type Event_ServiceHealth struct {
ServiceHealth *ServiceHealthUpdate `protobuf:"bytes,10,opt,name=ServiceHealth,proto3,oneof" json:"ServiceHealth,omitempty"`
}
func (*Event_ServiceHealth) MarshalTo ¶
func (m *Event_ServiceHealth) MarshalTo(dAtA []byte) (int, error)
func (*Event_ServiceHealth) MarshalToSizedBuffer ¶
func (m *Event_ServiceHealth) MarshalToSizedBuffer(dAtA []byte) (int, error)
func (*Event_ServiceHealth) Size ¶
func (m *Event_ServiceHealth) Size() (n int)
type ServiceHealthUpdate ¶
type ServiceHealthUpdate struct { Op CatalogOp `protobuf:"varint,1,opt,name=Op,proto3,enum=subscribe.CatalogOp" json:"Op,omitempty"` CheckServiceNode *pbservice.CheckServiceNode `protobuf:"bytes,2,opt,name=CheckServiceNode,proto3" json:"CheckServiceNode,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` }
func (*ServiceHealthUpdate) Descriptor ¶
func (*ServiceHealthUpdate) Descriptor() ([]byte, []int)
func (*ServiceHealthUpdate) GetCheckServiceNode ¶
func (m *ServiceHealthUpdate) GetCheckServiceNode() *pbservice.CheckServiceNode
func (*ServiceHealthUpdate) GetOp ¶
func (m *ServiceHealthUpdate) GetOp() CatalogOp
func (*ServiceHealthUpdate) Marshal ¶
func (m *ServiceHealthUpdate) Marshal() (dAtA []byte, err error)
func (*ServiceHealthUpdate) MarshalBinary ¶
func (msg *ServiceHealthUpdate) MarshalBinary() ([]byte, error)
MarshalBinary implements encoding.BinaryMarshaler
func (*ServiceHealthUpdate) MarshalTo ¶
func (m *ServiceHealthUpdate) MarshalTo(dAtA []byte) (int, error)
func (*ServiceHealthUpdate) MarshalToSizedBuffer ¶
func (m *ServiceHealthUpdate) MarshalToSizedBuffer(dAtA []byte) (int, error)
func (*ServiceHealthUpdate) ProtoMessage ¶
func (*ServiceHealthUpdate) ProtoMessage()
func (*ServiceHealthUpdate) Reset ¶
func (m *ServiceHealthUpdate) Reset()
func (*ServiceHealthUpdate) Size ¶
func (m *ServiceHealthUpdate) Size() (n int)
func (*ServiceHealthUpdate) String ¶
func (m *ServiceHealthUpdate) String() string
func (*ServiceHealthUpdate) Unmarshal ¶
func (m *ServiceHealthUpdate) Unmarshal(dAtA []byte) error
func (*ServiceHealthUpdate) UnmarshalBinary ¶
func (msg *ServiceHealthUpdate) UnmarshalBinary(b []byte) error
UnmarshalBinary implements encoding.BinaryUnmarshaler
func (*ServiceHealthUpdate) XXX_DiscardUnknown ¶
func (m *ServiceHealthUpdate) XXX_DiscardUnknown()
func (*ServiceHealthUpdate) XXX_Marshal ¶
func (m *ServiceHealthUpdate) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
func (*ServiceHealthUpdate) XXX_Merge ¶
func (m *ServiceHealthUpdate) XXX_Merge(src proto.Message)
func (*ServiceHealthUpdate) XXX_Size ¶
func (m *ServiceHealthUpdate) XXX_Size() int
func (*ServiceHealthUpdate) XXX_Unmarshal ¶
func (m *ServiceHealthUpdate) XXX_Unmarshal(b []byte) error
type StateChangeSubscriptionClient ¶
type StateChangeSubscriptionClient interface { // Subscribe to a topic to receive events when there are changes to the topic. // // If SubscribeRequest.Index is 0 the event stream will start with one or // more snapshot events, followed by an EndOfSnapshot event. Subsequent // events will be a live stream of events as they happen. // // If SubscribeRequest.Index is > 0 it is assumed the client already has a // snapshot, and is trying to resume a stream that was disconnected. The // client will either receive a NewSnapshotToFollow event, indicating the // client view is stale and it must reset its view and prepare for a new // snapshot. Or, if no NewSnapshotToFollow event is received, the client // view is still fresh, and all events will be the live stream. // // Subscribe may return a gRPC status error with codes.ABORTED to indicate // the client view is now stale due to a change on the server. The client // must reset its view and issue a new Subscribe call to restart the stream. // This error is used when the server can no longer correctly maintain the // stream, for example because the ACL permissions for the token changed, or // because the server state was restored from a snapshot. Subscribe(ctx context.Context, in *SubscribeRequest, opts ...grpc.CallOption) (StateChangeSubscription_SubscribeClient, error) }
StateChangeSubscriptionClient is the client API for StateChangeSubscription service.
For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
func NewStateChangeSubscriptionClient ¶
func NewStateChangeSubscriptionClient(cc *grpc.ClientConn) StateChangeSubscriptionClient
type StateChangeSubscriptionServer ¶
type StateChangeSubscriptionServer interface { // Subscribe to a topic to receive events when there are changes to the topic. // // If SubscribeRequest.Index is 0 the event stream will start with one or // more snapshot events, followed by an EndOfSnapshot event. Subsequent // events will be a live stream of events as they happen. // // If SubscribeRequest.Index is > 0 it is assumed the client already has a // snapshot, and is trying to resume a stream that was disconnected. The // client will either receive a NewSnapshotToFollow event, indicating the // client view is stale and it must reset its view and prepare for a new // snapshot. Or, if no NewSnapshotToFollow event is received, the client // view is still fresh, and all events will be the live stream. // // Subscribe may return a gRPC status error with codes.ABORTED to indicate // the client view is now stale due to a change on the server. The client // must reset its view and issue a new Subscribe call to restart the stream. // This error is used when the server can no longer correctly maintain the // stream, for example because the ACL permissions for the token changed, or // because the server state was restored from a snapshot. Subscribe(*SubscribeRequest, StateChangeSubscription_SubscribeServer) error }
StateChangeSubscriptionServer is the server API for StateChangeSubscription service.
type StateChangeSubscription_SubscribeClient ¶
type StateChangeSubscription_SubscribeClient interface { Recv() (*Event, error) grpc.ClientStream }
type StateChangeSubscription_SubscribeServer ¶
type StateChangeSubscription_SubscribeServer interface { Send(*Event) error grpc.ServerStream }
type SubscribeRequest ¶
type SubscribeRequest struct { // Topic identifies the set of events the subscriber is interested in. Topic Topic `protobuf:"varint,1,opt,name=Topic,proto3,enum=subscribe.Topic" json:"Topic,omitempty"` // Key is a topic-specific identifier that restricts the scope of the // subscription to only events pertaining to that identifier. For example, // to receive events for a single service, the service's name is // specified as the key. An empty key indicates that all events in the topic // are of interest. Key string `protobuf:"bytes,2,opt,name=Key,proto3" json:"Key,omitempty"` // Token is the ACL token to authenticate the request. The token must have // sufficient privileges to read the requested information otherwise events // will be filtered, possibly resulting in an empty snapshot and no further // updates sent. Token string `protobuf:"bytes,3,opt,name=Token,proto3" json:"Token,omitempty"` // Index is the raft index the subscriber has already observed up to. This // is zero on an initial streaming call, but then can be provided by a // client on subsequent re-connections such that the full snapshot doesn't // need to be resent if the client is up to date. Index uint64 `protobuf:"varint,4,opt,name=Index,proto3" json:"Index,omitempty"` // Datacenter specifies the Consul datacenter the request is targeted at. // If it's not the local DC the server will forward the request to // the remote DC and proxy the results back to the subscriber. An empty // string defaults to the local datacenter. Datacenter string `protobuf:"bytes,5,opt,name=Datacenter,proto3" json:"Datacenter,omitempty"` // Namespace which contains the resources. If Namespace is not specified the // default namespace will be used. // // Namespace is an enterprise-only feature. Namespace string `protobuf:"bytes,6,opt,name=Namespace,proto3" json:"Namespace,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` }
SubscribeRequest used to subscribe to a topic.
func (*SubscribeRequest) Descriptor ¶
func (*SubscribeRequest) Descriptor() ([]byte, []int)
func (*SubscribeRequest) GetDatacenter ¶
func (m *SubscribeRequest) GetDatacenter() string
func (*SubscribeRequest) GetIndex ¶
func (m *SubscribeRequest) GetIndex() uint64
func (*SubscribeRequest) GetKey ¶
func (m *SubscribeRequest) GetKey() string
func (*SubscribeRequest) GetNamespace ¶
func (m *SubscribeRequest) GetNamespace() string
func (*SubscribeRequest) GetToken ¶
func (m *SubscribeRequest) GetToken() string
func (*SubscribeRequest) GetTopic ¶
func (m *SubscribeRequest) GetTopic() Topic
func (*SubscribeRequest) Marshal ¶
func (m *SubscribeRequest) Marshal() (dAtA []byte, err error)
func (*SubscribeRequest) MarshalBinary ¶
func (msg *SubscribeRequest) MarshalBinary() ([]byte, error)
MarshalBinary implements encoding.BinaryMarshaler
func (*SubscribeRequest) MarshalToSizedBuffer ¶
func (m *SubscribeRequest) MarshalToSizedBuffer(dAtA []byte) (int, error)
func (*SubscribeRequest) ProtoMessage ¶
func (*SubscribeRequest) ProtoMessage()
func (*SubscribeRequest) Reset ¶
func (m *SubscribeRequest) Reset()
func (*SubscribeRequest) Size ¶
func (m *SubscribeRequest) Size() (n int)
func (*SubscribeRequest) String ¶
func (m *SubscribeRequest) String() string
func (*SubscribeRequest) Unmarshal ¶
func (m *SubscribeRequest) Unmarshal(dAtA []byte) error
func (*SubscribeRequest) UnmarshalBinary ¶
func (msg *SubscribeRequest) UnmarshalBinary(b []byte) error
UnmarshalBinary implements encoding.BinaryUnmarshaler
func (*SubscribeRequest) XXX_DiscardUnknown ¶
func (m *SubscribeRequest) XXX_DiscardUnknown()
func (*SubscribeRequest) XXX_Marshal ¶
func (m *SubscribeRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
func (*SubscribeRequest) XXX_Merge ¶
func (m *SubscribeRequest) XXX_Merge(src proto.Message)
func (*SubscribeRequest) XXX_Size ¶
func (m *SubscribeRequest) XXX_Size() int
func (*SubscribeRequest) XXX_Unmarshal ¶
func (m *SubscribeRequest) XXX_Unmarshal(b []byte) error
type Topic ¶
type Topic int32
Topic enumerates the supported event topics.
func (Topic) EnumDescriptor ¶
type UnimplementedStateChangeSubscriptionServer ¶
type UnimplementedStateChangeSubscriptionServer struct { }
UnimplementedStateChangeSubscriptionServer can be embedded to have forward compatible implementations.
func (*UnimplementedStateChangeSubscriptionServer) Subscribe ¶
func (*UnimplementedStateChangeSubscriptionServer) Subscribe(req *SubscribeRequest, srv StateChangeSubscription_SubscribeServer) error