1
0
Fork 0
mirror of https://github.com/moby/moby.git synced 2022-11-09 12:21:53 -05:00
moby--moby/vendor/github.com/docker/swarmkit/api/logbroker.pb.go
Andrea Luzzardi 014eeb539b Revendor swarmkit to 2eaae1ab6800f8521236e01bafb2667d2ec5371f
Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
2016-11-04 12:26:37 -07:00

3130 lines
79 KiB
Go

// Code generated by protoc-gen-gogo.
// source: logbroker.proto
// DO NOT EDIT!
package api
import proto "github.com/gogo/protobuf/proto"
import fmt "fmt"
import math "math"
import _ "github.com/gogo/protobuf/gogoproto"
import docker_swarmkit_v1 "github.com/docker/swarmkit/api/timestamp"
import _ "github.com/docker/swarmkit/protobuf/plugin"
import strings "strings"
import github_com_gogo_protobuf_proto "github.com/gogo/protobuf/proto"
import sort "sort"
import strconv "strconv"
import reflect "reflect"
import (
context "golang.org/x/net/context"
grpc "google.golang.org/grpc"
)
import raftselector "github.com/docker/swarmkit/manager/raftselector"
import codes "google.golang.org/grpc/codes"
import metadata "google.golang.org/grpc/metadata"
import transport "google.golang.org/grpc/transport"
import time "time"
import io "io"
// Reference imports to suppress errors if they are not otherwise used.
var _ = proto.Marshal
var _ = fmt.Errorf
var _ = math.Inf
// LogStream defines the stream from which the log message came.
type LogStream int32
const (
LogStreamUnknown LogStream = 0
LogStreamStdout LogStream = 1
LogStreamStderr LogStream = 2
)
var LogStream_name = map[int32]string{
0: "LOG_STREAM_UNKNOWN",
1: "LOG_STREAM_STDOUT",
2: "LOG_STREAM_STDERR",
}
var LogStream_value = map[string]int32{
"LOG_STREAM_UNKNOWN": 0,
"LOG_STREAM_STDOUT": 1,
"LOG_STREAM_STDERR": 2,
}
func (x LogStream) String() string {
return proto.EnumName(LogStream_name, int32(x))
}
func (LogStream) EnumDescriptor() ([]byte, []int) { return fileDescriptorLogbroker, []int{0} }
type LogSubscriptionOptions struct {
// Streams defines which log streams should be sent from the task source.
// Empty means send all the messages.
Streams []LogStream `protobuf:"varint,1,rep,name=streams,enum=docker.swarmkit.v1.LogStream" json:"streams,omitempty"`
// Follow instructs the publisher to continue sending log messages as they
// are produced, after satisfying the initial query.
Follow bool `protobuf:"varint,2,opt,name=follow,proto3" json:"follow,omitempty"`
// Tail defines how many messages relative to the log stream to send when
// starting the stream.
//
// Positive values will skip that number of messages from the start of the
// stream before publishing.
//
// Negative values will specify messages relative to the end of the stream,
// offset by one. We can say that the last (-n-1) lines are returned when n
// < 0. As reference, -1 would mean send no log lines (typically used with
// follow), -2 would return the last log line, -11 would return the last 10
// and so on.
//
// The default value of zero will return all logs.
//
// Note that this is very different from the Docker API.
Tail int64 `protobuf:"varint,3,opt,name=tail,proto3" json:"tail,omitempty"`
// Since indicates that only log messages produced after this timestamp
// should be sent.
Since *docker_swarmkit_v1.Timestamp `protobuf:"bytes,4,opt,name=since" json:"since,omitempty"`
}
func (m *LogSubscriptionOptions) Reset() { *m = LogSubscriptionOptions{} }
func (*LogSubscriptionOptions) ProtoMessage() {}
func (*LogSubscriptionOptions) Descriptor() ([]byte, []int) { return fileDescriptorLogbroker, []int{0} }
// LogSelector will match logs from ANY of the defined parameters.
//
// For the best effect, the client should use the least specific parameter
// possible. For example, if they want to listen to all the tasks of a service,
// they should use the service id, rather than specifying the individual tasks.
type LogSelector struct {
ServiceIDs []string `protobuf:"bytes,1,rep,name=service_ids,json=serviceIds" json:"service_ids,omitempty"`
NodeIDs []string `protobuf:"bytes,2,rep,name=node_ids,json=nodeIds" json:"node_ids,omitempty"`
TaskIDs []string `protobuf:"bytes,3,rep,name=task_ids,json=taskIds" json:"task_ids,omitempty"`
}
func (m *LogSelector) Reset() { *m = LogSelector{} }
func (*LogSelector) ProtoMessage() {}
func (*LogSelector) Descriptor() ([]byte, []int) { return fileDescriptorLogbroker, []int{1} }
// LogContext marks the context from which a log message was generated.
type LogContext struct {
ServiceID string `protobuf:"bytes,1,opt,name=service_id,json=serviceId,proto3" json:"service_id,omitempty"`
NodeID string `protobuf:"bytes,2,opt,name=node_id,json=nodeId,proto3" json:"node_id,omitempty"`
TaskID string `protobuf:"bytes,3,opt,name=task_id,json=taskId,proto3" json:"task_id,omitempty"`
}
func (m *LogContext) Reset() { *m = LogContext{} }
func (*LogContext) ProtoMessage() {}
func (*LogContext) Descriptor() ([]byte, []int) { return fileDescriptorLogbroker, []int{2} }
// LogMessage
type LogMessage struct {
// Context identifies the source of the log message.
Context LogContext `protobuf:"bytes,1,opt,name=context" json:"context"`
// Timestamp is the time at which the message was generated.
Timestamp *docker_swarmkit_v1.Timestamp `protobuf:"bytes,2,opt,name=timestamp" json:"timestamp,omitempty"`
// Stream identifies the stream of the log message, stdout or stderr.
Stream LogStream `protobuf:"varint,3,opt,name=stream,proto3,enum=docker.swarmkit.v1.LogStream" json:"stream,omitempty"`
// Data is the raw log message, as generated by the application.
Data []byte `protobuf:"bytes,4,opt,name=data,proto3" json:"data,omitempty"`
}
func (m *LogMessage) Reset() { *m = LogMessage{} }
func (*LogMessage) ProtoMessage() {}
func (*LogMessage) Descriptor() ([]byte, []int) { return fileDescriptorLogbroker, []int{3} }
type SubscribeLogsRequest struct {
// LogSelector describes the logs to which the subscriber is
Selector *LogSelector `protobuf:"bytes,1,opt,name=selector" json:"selector,omitempty"`
Options *LogSubscriptionOptions `protobuf:"bytes,2,opt,name=options" json:"options,omitempty"`
}
func (m *SubscribeLogsRequest) Reset() { *m = SubscribeLogsRequest{} }
func (*SubscribeLogsRequest) ProtoMessage() {}
func (*SubscribeLogsRequest) Descriptor() ([]byte, []int) { return fileDescriptorLogbroker, []int{4} }
type SubscribeLogsMessage struct {
Messages []LogMessage `protobuf:"bytes,1,rep,name=messages" json:"messages"`
}
func (m *SubscribeLogsMessage) Reset() { *m = SubscribeLogsMessage{} }
func (*SubscribeLogsMessage) ProtoMessage() {}
func (*SubscribeLogsMessage) Descriptor() ([]byte, []int) { return fileDescriptorLogbroker, []int{5} }
// ListenSubscriptionsRequest is a placeholder to begin listening for
// subscriptions.
type ListenSubscriptionsRequest struct {
}
func (m *ListenSubscriptionsRequest) Reset() { *m = ListenSubscriptionsRequest{} }
func (*ListenSubscriptionsRequest) ProtoMessage() {}
func (*ListenSubscriptionsRequest) Descriptor() ([]byte, []int) {
return fileDescriptorLogbroker, []int{6}
}
// SubscriptionMessage instructs the listener to start publishing messages for
// the stream or end a subscription.
//
// If Options.Follow == false, the worker should end the subscription on its own.
type SubscriptionMessage struct {
// ID identifies the subscription.
ID string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
// Selector defines which sources should be sent for the subscription.
Selector *LogSelector `protobuf:"bytes,2,opt,name=selector" json:"selector,omitempty"`
// Options specify how the subscription should be satisfied.
Options *LogSubscriptionOptions `protobuf:"bytes,3,opt,name=options" json:"options,omitempty"`
// Close will be true if the node should shutdown the subscription with the
// provided identifier.
Close bool `protobuf:"varint,4,opt,name=close,proto3" json:"close,omitempty"`
}
func (m *SubscriptionMessage) Reset() { *m = SubscriptionMessage{} }
func (*SubscriptionMessage) ProtoMessage() {}
func (*SubscriptionMessage) Descriptor() ([]byte, []int) { return fileDescriptorLogbroker, []int{7} }
type PublishLogsMessage struct {
// SubscriptionID identifies which subscription the set of messages should
// be sent to. We can think of this as a "mail box" for the subscription.
SubscriptionID string `protobuf:"bytes,1,opt,name=subscription_id,json=subscriptionId,proto3" json:"subscription_id,omitempty"`
// Messages is the log message for publishing.
Messages []LogMessage `protobuf:"bytes,2,rep,name=messages" json:"messages"`
}
func (m *PublishLogsMessage) Reset() { *m = PublishLogsMessage{} }
func (*PublishLogsMessage) ProtoMessage() {}
func (*PublishLogsMessage) Descriptor() ([]byte, []int) { return fileDescriptorLogbroker, []int{8} }
type PublishLogsResponse struct {
}
func (m *PublishLogsResponse) Reset() { *m = PublishLogsResponse{} }
func (*PublishLogsResponse) ProtoMessage() {}
func (*PublishLogsResponse) Descriptor() ([]byte, []int) { return fileDescriptorLogbroker, []int{9} }
func init() {
proto.RegisterType((*LogSubscriptionOptions)(nil), "docker.swarmkit.v1.LogSubscriptionOptions")
proto.RegisterType((*LogSelector)(nil), "docker.swarmkit.v1.LogSelector")
proto.RegisterType((*LogContext)(nil), "docker.swarmkit.v1.LogContext")
proto.RegisterType((*LogMessage)(nil), "docker.swarmkit.v1.LogMessage")
proto.RegisterType((*SubscribeLogsRequest)(nil), "docker.swarmkit.v1.SubscribeLogsRequest")
proto.RegisterType((*SubscribeLogsMessage)(nil), "docker.swarmkit.v1.SubscribeLogsMessage")
proto.RegisterType((*ListenSubscriptionsRequest)(nil), "docker.swarmkit.v1.ListenSubscriptionsRequest")
proto.RegisterType((*SubscriptionMessage)(nil), "docker.swarmkit.v1.SubscriptionMessage")
proto.RegisterType((*PublishLogsMessage)(nil), "docker.swarmkit.v1.PublishLogsMessage")
proto.RegisterType((*PublishLogsResponse)(nil), "docker.swarmkit.v1.PublishLogsResponse")
proto.RegisterEnum("docker.swarmkit.v1.LogStream", LogStream_name, LogStream_value)
}
type authenticatedWrapperLogsServer struct {
local LogsServer
authorize func(context.Context, []string) error
}
func NewAuthenticatedWrapperLogsServer(local LogsServer, authorize func(context.Context, []string) error) LogsServer {
return &authenticatedWrapperLogsServer{
local: local,
authorize: authorize,
}
}
func (p *authenticatedWrapperLogsServer) SubscribeLogs(r *SubscribeLogsRequest, stream Logs_SubscribeLogsServer) error {
if err := p.authorize(stream.Context(), []string{"swarm-manager"}); err != nil {
return err
}
return p.local.SubscribeLogs(r, stream)
}
type authenticatedWrapperLogBrokerServer struct {
local LogBrokerServer
authorize func(context.Context, []string) error
}
func NewAuthenticatedWrapperLogBrokerServer(local LogBrokerServer, authorize func(context.Context, []string) error) LogBrokerServer {
return &authenticatedWrapperLogBrokerServer{
local: local,
authorize: authorize,
}
}
func (p *authenticatedWrapperLogBrokerServer) ListenSubscriptions(r *ListenSubscriptionsRequest, stream LogBroker_ListenSubscriptionsServer) error {
if err := p.authorize(stream.Context(), []string{"swarm-worker", "swarm-manager"}); err != nil {
return err
}
return p.local.ListenSubscriptions(r, stream)
}
func (p *authenticatedWrapperLogBrokerServer) PublishLogs(stream LogBroker_PublishLogsServer) error {
if err := p.authorize(stream.Context(), []string{"swarm-worker", "swarm-manager"}); err != nil {
return err
}
return p.local.PublishLogs(stream)
}
func (m *LogSubscriptionOptions) Copy() *LogSubscriptionOptions {
if m == nil {
return nil
}
o := &LogSubscriptionOptions{
Follow: m.Follow,
Tail: m.Tail,
Since: m.Since.Copy(),
}
if m.Streams != nil {
o.Streams = make([]LogStream, 0, len(m.Streams))
o.Streams = append(o.Streams, m.Streams...)
}
return o
}
func (m *LogSelector) Copy() *LogSelector {
if m == nil {
return nil
}
o := &LogSelector{}
if m.ServiceIDs != nil {
o.ServiceIDs = make([]string, 0, len(m.ServiceIDs))
o.ServiceIDs = append(o.ServiceIDs, m.ServiceIDs...)
}
if m.NodeIDs != nil {
o.NodeIDs = make([]string, 0, len(m.NodeIDs))
o.NodeIDs = append(o.NodeIDs, m.NodeIDs...)
}
if m.TaskIDs != nil {
o.TaskIDs = make([]string, 0, len(m.TaskIDs))
o.TaskIDs = append(o.TaskIDs, m.TaskIDs...)
}
return o
}
func (m *LogContext) Copy() *LogContext {
if m == nil {
return nil
}
o := &LogContext{
ServiceID: m.ServiceID,
NodeID: m.NodeID,
TaskID: m.TaskID,
}
return o
}
func (m *LogMessage) Copy() *LogMessage {
if m == nil {
return nil
}
o := &LogMessage{
Context: *m.Context.Copy(),
Timestamp: m.Timestamp.Copy(),
Stream: m.Stream,
Data: m.Data,
}
return o
}
func (m *SubscribeLogsRequest) Copy() *SubscribeLogsRequest {
if m == nil {
return nil
}
o := &SubscribeLogsRequest{
Selector: m.Selector.Copy(),
Options: m.Options.Copy(),
}
return o
}
func (m *SubscribeLogsMessage) Copy() *SubscribeLogsMessage {
if m == nil {
return nil
}
o := &SubscribeLogsMessage{}
if m.Messages != nil {
o.Messages = make([]LogMessage, 0, len(m.Messages))
for _, v := range m.Messages {
o.Messages = append(o.Messages, *v.Copy())
}
}
return o
}
func (m *ListenSubscriptionsRequest) Copy() *ListenSubscriptionsRequest {
if m == nil {
return nil
}
o := &ListenSubscriptionsRequest{}
return o
}
func (m *SubscriptionMessage) Copy() *SubscriptionMessage {
if m == nil {
return nil
}
o := &SubscriptionMessage{
ID: m.ID,
Selector: m.Selector.Copy(),
Options: m.Options.Copy(),
Close: m.Close,
}
return o
}
func (m *PublishLogsMessage) Copy() *PublishLogsMessage {
if m == nil {
return nil
}
o := &PublishLogsMessage{
SubscriptionID: m.SubscriptionID,
}
if m.Messages != nil {
o.Messages = make([]LogMessage, 0, len(m.Messages))
for _, v := range m.Messages {
o.Messages = append(o.Messages, *v.Copy())
}
}
return o
}
func (m *PublishLogsResponse) Copy() *PublishLogsResponse {
if m == nil {
return nil
}
o := &PublishLogsResponse{}
return o
}
func (this *LogSubscriptionOptions) GoString() string {
if this == nil {
return "nil"
}
s := make([]string, 0, 8)
s = append(s, "&api.LogSubscriptionOptions{")
s = append(s, "Streams: "+fmt.Sprintf("%#v", this.Streams)+",\n")
s = append(s, "Follow: "+fmt.Sprintf("%#v", this.Follow)+",\n")
s = append(s, "Tail: "+fmt.Sprintf("%#v", this.Tail)+",\n")
if this.Since != nil {
s = append(s, "Since: "+fmt.Sprintf("%#v", this.Since)+",\n")
}
s = append(s, "}")
return strings.Join(s, "")
}
func (this *LogSelector) GoString() string {
if this == nil {
return "nil"
}
s := make([]string, 0, 7)
s = append(s, "&api.LogSelector{")
s = append(s, "ServiceIDs: "+fmt.Sprintf("%#v", this.ServiceIDs)+",\n")
s = append(s, "NodeIDs: "+fmt.Sprintf("%#v", this.NodeIDs)+",\n")
s = append(s, "TaskIDs: "+fmt.Sprintf("%#v", this.TaskIDs)+",\n")
s = append(s, "}")
return strings.Join(s, "")
}
func (this *LogContext) GoString() string {
if this == nil {
return "nil"
}
s := make([]string, 0, 7)
s = append(s, "&api.LogContext{")
s = append(s, "ServiceID: "+fmt.Sprintf("%#v", this.ServiceID)+",\n")
s = append(s, "NodeID: "+fmt.Sprintf("%#v", this.NodeID)+",\n")
s = append(s, "TaskID: "+fmt.Sprintf("%#v", this.TaskID)+",\n")
s = append(s, "}")
return strings.Join(s, "")
}
func (this *LogMessage) GoString() string {
if this == nil {
return "nil"
}
s := make([]string, 0, 8)
s = append(s, "&api.LogMessage{")
s = append(s, "Context: "+strings.Replace(this.Context.GoString(), `&`, ``, 1)+",\n")
if this.Timestamp != nil {
s = append(s, "Timestamp: "+fmt.Sprintf("%#v", this.Timestamp)+",\n")
}
s = append(s, "Stream: "+fmt.Sprintf("%#v", this.Stream)+",\n")
s = append(s, "Data: "+fmt.Sprintf("%#v", this.Data)+",\n")
s = append(s, "}")
return strings.Join(s, "")
}
func (this *SubscribeLogsRequest) GoString() string {
if this == nil {
return "nil"
}
s := make([]string, 0, 6)
s = append(s, "&api.SubscribeLogsRequest{")
if this.Selector != nil {
s = append(s, "Selector: "+fmt.Sprintf("%#v", this.Selector)+",\n")
}
if this.Options != nil {
s = append(s, "Options: "+fmt.Sprintf("%#v", this.Options)+",\n")
}
s = append(s, "}")
return strings.Join(s, "")
}
func (this *SubscribeLogsMessage) GoString() string {
if this == nil {
return "nil"
}
s := make([]string, 0, 5)
s = append(s, "&api.SubscribeLogsMessage{")
if this.Messages != nil {
s = append(s, "Messages: "+fmt.Sprintf("%#v", this.Messages)+",\n")
}
s = append(s, "}")
return strings.Join(s, "")
}
func (this *ListenSubscriptionsRequest) GoString() string {
if this == nil {
return "nil"
}
s := make([]string, 0, 4)
s = append(s, "&api.ListenSubscriptionsRequest{")
s = append(s, "}")
return strings.Join(s, "")
}
func (this *SubscriptionMessage) GoString() string {
if this == nil {
return "nil"
}
s := make([]string, 0, 8)
s = append(s, "&api.SubscriptionMessage{")
s = append(s, "ID: "+fmt.Sprintf("%#v", this.ID)+",\n")
if this.Selector != nil {
s = append(s, "Selector: "+fmt.Sprintf("%#v", this.Selector)+",\n")
}
if this.Options != nil {
s = append(s, "Options: "+fmt.Sprintf("%#v", this.Options)+",\n")
}
s = append(s, "Close: "+fmt.Sprintf("%#v", this.Close)+",\n")
s = append(s, "}")
return strings.Join(s, "")
}
func (this *PublishLogsMessage) GoString() string {
if this == nil {
return "nil"
}
s := make([]string, 0, 6)
s = append(s, "&api.PublishLogsMessage{")
s = append(s, "SubscriptionID: "+fmt.Sprintf("%#v", this.SubscriptionID)+",\n")
if this.Messages != nil {
s = append(s, "Messages: "+fmt.Sprintf("%#v", this.Messages)+",\n")
}
s = append(s, "}")
return strings.Join(s, "")
}
func (this *PublishLogsResponse) GoString() string {
if this == nil {
return "nil"
}
s := make([]string, 0, 4)
s = append(s, "&api.PublishLogsResponse{")
s = append(s, "}")
return strings.Join(s, "")
}
func valueToGoStringLogbroker(v interface{}, typ string) string {
rv := reflect.ValueOf(v)
if rv.IsNil() {
return "nil"
}
pv := reflect.Indirect(rv).Interface()
return fmt.Sprintf("func(v %v) *%v { return &v } ( %#v )", typ, typ, pv)
}
func extensionToGoStringLogbroker(m github_com_gogo_protobuf_proto.Message) string {
e := github_com_gogo_protobuf_proto.GetUnsafeExtensionsMap(m)
if e == nil {
return "nil"
}
s := "proto.NewUnsafeXXX_InternalExtensions(map[int32]proto.Extension{"
keys := make([]int, 0, len(e))
for k := range e {
keys = append(keys, int(k))
}
sort.Ints(keys)
ss := []string{}
for _, k := range keys {
ss = append(ss, strconv.Itoa(k)+": "+e[int32(k)].GoString())
}
s += strings.Join(ss, ",") + "})"
return s
}
// Reference imports to suppress errors if they are not otherwise used.
var _ context.Context
var _ grpc.ClientConn
// This is a compile-time assertion to ensure that this generated file
// is compatible with the grpc package it is being compiled against.
const _ = grpc.SupportPackageIsVersion3
// Client API for Logs service
type LogsClient interface {
// SubscribeLogs starts a subscription with the specified selector and options.
//
// The subscription will be distributed to relevant nodes and messages will
// be collected and sent via the returned stream.
//
// The subscription will end with an EOF.
SubscribeLogs(ctx context.Context, in *SubscribeLogsRequest, opts ...grpc.CallOption) (Logs_SubscribeLogsClient, error)
}
type logsClient struct {
cc *grpc.ClientConn
}
func NewLogsClient(cc *grpc.ClientConn) LogsClient {
return &logsClient{cc}
}
func (c *logsClient) SubscribeLogs(ctx context.Context, in *SubscribeLogsRequest, opts ...grpc.CallOption) (Logs_SubscribeLogsClient, error) {
stream, err := grpc.NewClientStream(ctx, &_Logs_serviceDesc.Streams[0], c.cc, "/docker.swarmkit.v1.Logs/SubscribeLogs", opts...)
if err != nil {
return nil, err
}
x := &logsSubscribeLogsClient{stream}
if err := x.ClientStream.SendMsg(in); err != nil {
return nil, err
}
if err := x.ClientStream.CloseSend(); err != nil {
return nil, err
}
return x, nil
}
type Logs_SubscribeLogsClient interface {
Recv() (*SubscribeLogsMessage, error)
grpc.ClientStream
}
type logsSubscribeLogsClient struct {
grpc.ClientStream
}
func (x *logsSubscribeLogsClient) Recv() (*SubscribeLogsMessage, error) {
m := new(SubscribeLogsMessage)
if err := x.ClientStream.RecvMsg(m); err != nil {
return nil, err
}
return m, nil
}
// Server API for Logs service
type LogsServer interface {
// SubscribeLogs starts a subscription with the specified selector and options.
//
// The subscription will be distributed to relevant nodes and messages will
// be collected and sent via the returned stream.
//
// The subscription will end with an EOF.
SubscribeLogs(*SubscribeLogsRequest, Logs_SubscribeLogsServer) error
}
func RegisterLogsServer(s *grpc.Server, srv LogsServer) {
s.RegisterService(&_Logs_serviceDesc, srv)
}
func _Logs_SubscribeLogs_Handler(srv interface{}, stream grpc.ServerStream) error {
m := new(SubscribeLogsRequest)
if err := stream.RecvMsg(m); err != nil {
return err
}
return srv.(LogsServer).SubscribeLogs(m, &logsSubscribeLogsServer{stream})
}
type Logs_SubscribeLogsServer interface {
Send(*SubscribeLogsMessage) error
grpc.ServerStream
}
type logsSubscribeLogsServer struct {
grpc.ServerStream
}
func (x *logsSubscribeLogsServer) Send(m *SubscribeLogsMessage) error {
return x.ServerStream.SendMsg(m)
}
var _Logs_serviceDesc = grpc.ServiceDesc{
ServiceName: "docker.swarmkit.v1.Logs",
HandlerType: (*LogsServer)(nil),
Methods: []grpc.MethodDesc{},
Streams: []grpc.StreamDesc{
{
StreamName: "SubscribeLogs",
Handler: _Logs_SubscribeLogs_Handler,
ServerStreams: true,
},
},
Metadata: fileDescriptorLogbroker,
}
// Client API for LogBroker service
type LogBrokerClient interface {
// ListenSubscriptions starts a subscription stream for the node. For each
// message received, the node should attempt to satisfy the subscription.
//
// Log messages that match the provided subscription should be sent via
// PublishLogs.
ListenSubscriptions(ctx context.Context, in *ListenSubscriptionsRequest, opts ...grpc.CallOption) (LogBroker_ListenSubscriptionsClient, error)
// PublishLogs receives sets of log messages destined for a single
// subscription identifier.
PublishLogs(ctx context.Context, opts ...grpc.CallOption) (LogBroker_PublishLogsClient, error)
}
type logBrokerClient struct {
cc *grpc.ClientConn
}
func NewLogBrokerClient(cc *grpc.ClientConn) LogBrokerClient {
return &logBrokerClient{cc}
}
func (c *logBrokerClient) ListenSubscriptions(ctx context.Context, in *ListenSubscriptionsRequest, opts ...grpc.CallOption) (LogBroker_ListenSubscriptionsClient, error) {
stream, err := grpc.NewClientStream(ctx, &_LogBroker_serviceDesc.Streams[0], c.cc, "/docker.swarmkit.v1.LogBroker/ListenSubscriptions", opts...)
if err != nil {
return nil, err
}
x := &logBrokerListenSubscriptionsClient{stream}
if err := x.ClientStream.SendMsg(in); err != nil {
return nil, err
}
if err := x.ClientStream.CloseSend(); err != nil {
return nil, err
}
return x, nil
}
type LogBroker_ListenSubscriptionsClient interface {
Recv() (*SubscriptionMessage, error)
grpc.ClientStream
}
type logBrokerListenSubscriptionsClient struct {
grpc.ClientStream
}
func (x *logBrokerListenSubscriptionsClient) Recv() (*SubscriptionMessage, error) {
m := new(SubscriptionMessage)
if err := x.ClientStream.RecvMsg(m); err != nil {
return nil, err
}
return m, nil
}
func (c *logBrokerClient) PublishLogs(ctx context.Context, opts ...grpc.CallOption) (LogBroker_PublishLogsClient, error) {
stream, err := grpc.NewClientStream(ctx, &_LogBroker_serviceDesc.Streams[1], c.cc, "/docker.swarmkit.v1.LogBroker/PublishLogs", opts...)
if err != nil {
return nil, err
}
x := &logBrokerPublishLogsClient{stream}
return x, nil
}
type LogBroker_PublishLogsClient interface {
Send(*PublishLogsMessage) error
CloseAndRecv() (*PublishLogsResponse, error)
grpc.ClientStream
}
type logBrokerPublishLogsClient struct {
grpc.ClientStream
}
func (x *logBrokerPublishLogsClient) Send(m *PublishLogsMessage) error {
return x.ClientStream.SendMsg(m)
}
func (x *logBrokerPublishLogsClient) CloseAndRecv() (*PublishLogsResponse, error) {
if err := x.ClientStream.CloseSend(); err != nil {
return nil, err
}
m := new(PublishLogsResponse)
if err := x.ClientStream.RecvMsg(m); err != nil {
return nil, err
}
return m, nil
}
// Server API for LogBroker service
type LogBrokerServer interface {
// ListenSubscriptions starts a subscription stream for the node. For each
// message received, the node should attempt to satisfy the subscription.
//
// Log messages that match the provided subscription should be sent via
// PublishLogs.
ListenSubscriptions(*ListenSubscriptionsRequest, LogBroker_ListenSubscriptionsServer) error
// PublishLogs receives sets of log messages destined for a single
// subscription identifier.
PublishLogs(LogBroker_PublishLogsServer) error
}
func RegisterLogBrokerServer(s *grpc.Server, srv LogBrokerServer) {
s.RegisterService(&_LogBroker_serviceDesc, srv)
}
func _LogBroker_ListenSubscriptions_Handler(srv interface{}, stream grpc.ServerStream) error {
m := new(ListenSubscriptionsRequest)
if err := stream.RecvMsg(m); err != nil {
return err
}
return srv.(LogBrokerServer).ListenSubscriptions(m, &logBrokerListenSubscriptionsServer{stream})
}
type LogBroker_ListenSubscriptionsServer interface {
Send(*SubscriptionMessage) error
grpc.ServerStream
}
type logBrokerListenSubscriptionsServer struct {
grpc.ServerStream
}
func (x *logBrokerListenSubscriptionsServer) Send(m *SubscriptionMessage) error {
return x.ServerStream.SendMsg(m)
}
func _LogBroker_PublishLogs_Handler(srv interface{}, stream grpc.ServerStream) error {
return srv.(LogBrokerServer).PublishLogs(&logBrokerPublishLogsServer{stream})
}
type LogBroker_PublishLogsServer interface {
SendAndClose(*PublishLogsResponse) error
Recv() (*PublishLogsMessage, error)
grpc.ServerStream
}
type logBrokerPublishLogsServer struct {
grpc.ServerStream
}
func (x *logBrokerPublishLogsServer) SendAndClose(m *PublishLogsResponse) error {
return x.ServerStream.SendMsg(m)
}
func (x *logBrokerPublishLogsServer) Recv() (*PublishLogsMessage, error) {
m := new(PublishLogsMessage)
if err := x.ServerStream.RecvMsg(m); err != nil {
return nil, err
}
return m, nil
}
var _LogBroker_serviceDesc = grpc.ServiceDesc{
ServiceName: "docker.swarmkit.v1.LogBroker",
HandlerType: (*LogBrokerServer)(nil),
Methods: []grpc.MethodDesc{},
Streams: []grpc.StreamDesc{
{
StreamName: "ListenSubscriptions",
Handler: _LogBroker_ListenSubscriptions_Handler,
ServerStreams: true,
},
{
StreamName: "PublishLogs",
Handler: _LogBroker_PublishLogs_Handler,
ClientStreams: true,
},
},
Metadata: fileDescriptorLogbroker,
}
func (m *LogSubscriptionOptions) Marshal() (data []byte, err error) {
size := m.Size()
data = make([]byte, size)
n, err := m.MarshalTo(data)
if err != nil {
return nil, err
}
return data[:n], nil
}
func (m *LogSubscriptionOptions) MarshalTo(data []byte) (int, error) {
var i int
_ = i
var l int
_ = l
if len(m.Streams) > 0 {
for _, num := range m.Streams {
data[i] = 0x8
i++
i = encodeVarintLogbroker(data, i, uint64(num))
}
}
if m.Follow {
data[i] = 0x10
i++
if m.Follow {
data[i] = 1
} else {
data[i] = 0
}
i++
}
if m.Tail != 0 {
data[i] = 0x18
i++
i = encodeVarintLogbroker(data, i, uint64(m.Tail))
}
if m.Since != nil {
data[i] = 0x22
i++
i = encodeVarintLogbroker(data, i, uint64(m.Since.Size()))
n1, err := m.Since.MarshalTo(data[i:])
if err != nil {
return 0, err
}
i += n1
}
return i, nil
}
func (m *LogSelector) Marshal() (data []byte, err error) {
size := m.Size()
data = make([]byte, size)
n, err := m.MarshalTo(data)
if err != nil {
return nil, err
}
return data[:n], nil
}
func (m *LogSelector) MarshalTo(data []byte) (int, error) {
var i int
_ = i
var l int
_ = l
if len(m.ServiceIDs) > 0 {
for _, s := range m.ServiceIDs {
data[i] = 0xa
i++
l = len(s)
for l >= 1<<7 {
data[i] = uint8(uint64(l)&0x7f | 0x80)
l >>= 7
i++
}
data[i] = uint8(l)
i++
i += copy(data[i:], s)
}
}
if len(m.NodeIDs) > 0 {
for _, s := range m.NodeIDs {
data[i] = 0x12
i++
l = len(s)
for l >= 1<<7 {
data[i] = uint8(uint64(l)&0x7f | 0x80)
l >>= 7
i++
}
data[i] = uint8(l)
i++
i += copy(data[i:], s)
}
}
if len(m.TaskIDs) > 0 {
for _, s := range m.TaskIDs {
data[i] = 0x1a
i++
l = len(s)
for l >= 1<<7 {
data[i] = uint8(uint64(l)&0x7f | 0x80)
l >>= 7
i++
}
data[i] = uint8(l)
i++
i += copy(data[i:], s)
}
}
return i, nil
}
func (m *LogContext) Marshal() (data []byte, err error) {
size := m.Size()
data = make([]byte, size)
n, err := m.MarshalTo(data)
if err != nil {
return nil, err
}
return data[:n], nil
}
func (m *LogContext) MarshalTo(data []byte) (int, error) {
var i int
_ = i
var l int
_ = l
if len(m.ServiceID) > 0 {
data[i] = 0xa
i++
i = encodeVarintLogbroker(data, i, uint64(len(m.ServiceID)))
i += copy(data[i:], m.ServiceID)
}
if len(m.NodeID) > 0 {
data[i] = 0x12
i++
i = encodeVarintLogbroker(data, i, uint64(len(m.NodeID)))
i += copy(data[i:], m.NodeID)
}
if len(m.TaskID) > 0 {
data[i] = 0x1a
i++
i = encodeVarintLogbroker(data, i, uint64(len(m.TaskID)))
i += copy(data[i:], m.TaskID)
}
return i, nil
}
func (m *LogMessage) Marshal() (data []byte, err error) {
size := m.Size()
data = make([]byte, size)
n, err := m.MarshalTo(data)
if err != nil {
return nil, err
}
return data[:n], nil
}
func (m *LogMessage) MarshalTo(data []byte) (int, error) {
var i int
_ = i
var l int
_ = l
data[i] = 0xa
i++
i = encodeVarintLogbroker(data, i, uint64(m.Context.Size()))
n2, err := m.Context.MarshalTo(data[i:])
if err != nil {
return 0, err
}
i += n2
if m.Timestamp != nil {
data[i] = 0x12
i++
i = encodeVarintLogbroker(data, i, uint64(m.Timestamp.Size()))
n3, err := m.Timestamp.MarshalTo(data[i:])
if err != nil {
return 0, err
}
i += n3
}
if m.Stream != 0 {
data[i] = 0x18
i++
i = encodeVarintLogbroker(data, i, uint64(m.Stream))
}
if len(m.Data) > 0 {
data[i] = 0x22
i++
i = encodeVarintLogbroker(data, i, uint64(len(m.Data)))
i += copy(data[i:], m.Data)
}
return i, nil
}
func (m *SubscribeLogsRequest) Marshal() (data []byte, err error) {
size := m.Size()
data = make([]byte, size)
n, err := m.MarshalTo(data)
if err != nil {
return nil, err
}
return data[:n], nil
}
func (m *SubscribeLogsRequest) MarshalTo(data []byte) (int, error) {
var i int
_ = i
var l int
_ = l
if m.Selector != nil {
data[i] = 0xa
i++
i = encodeVarintLogbroker(data, i, uint64(m.Selector.Size()))
n4, err := m.Selector.MarshalTo(data[i:])
if err != nil {
return 0, err
}
i += n4
}
if m.Options != nil {
data[i] = 0x12
i++
i = encodeVarintLogbroker(data, i, uint64(m.Options.Size()))
n5, err := m.Options.MarshalTo(data[i:])
if err != nil {
return 0, err
}
i += n5
}
return i, nil
}
func (m *SubscribeLogsMessage) Marshal() (data []byte, err error) {
size := m.Size()
data = make([]byte, size)
n, err := m.MarshalTo(data)
if err != nil {
return nil, err
}
return data[:n], nil
}
func (m *SubscribeLogsMessage) MarshalTo(data []byte) (int, error) {
var i int
_ = i
var l int
_ = l
if len(m.Messages) > 0 {
for _, msg := range m.Messages {
data[i] = 0xa
i++
i = encodeVarintLogbroker(data, i, uint64(msg.Size()))
n, err := msg.MarshalTo(data[i:])
if err != nil {
return 0, err
}
i += n
}
}
return i, nil
}
func (m *ListenSubscriptionsRequest) Marshal() (data []byte, err error) {
size := m.Size()
data = make([]byte, size)
n, err := m.MarshalTo(data)
if err != nil {
return nil, err
}
return data[:n], nil
}
func (m *ListenSubscriptionsRequest) MarshalTo(data []byte) (int, error) {
var i int
_ = i
var l int
_ = l
return i, nil
}
func (m *SubscriptionMessage) Marshal() (data []byte, err error) {
size := m.Size()
data = make([]byte, size)
n, err := m.MarshalTo(data)
if err != nil {
return nil, err
}
return data[:n], nil
}
func (m *SubscriptionMessage) MarshalTo(data []byte) (int, error) {
var i int
_ = i
var l int
_ = l
if len(m.ID) > 0 {
data[i] = 0xa
i++
i = encodeVarintLogbroker(data, i, uint64(len(m.ID)))
i += copy(data[i:], m.ID)
}
if m.Selector != nil {
data[i] = 0x12
i++
i = encodeVarintLogbroker(data, i, uint64(m.Selector.Size()))
n6, err := m.Selector.MarshalTo(data[i:])
if err != nil {
return 0, err
}
i += n6
}
if m.Options != nil {
data[i] = 0x1a
i++
i = encodeVarintLogbroker(data, i, uint64(m.Options.Size()))
n7, err := m.Options.MarshalTo(data[i:])
if err != nil {
return 0, err
}
i += n7
}
if m.Close {
data[i] = 0x20
i++
if m.Close {
data[i] = 1
} else {
data[i] = 0
}
i++
}
return i, nil
}
func (m *PublishLogsMessage) Marshal() (data []byte, err error) {
size := m.Size()
data = make([]byte, size)
n, err := m.MarshalTo(data)
if err != nil {
return nil, err
}
return data[:n], nil
}
func (m *PublishLogsMessage) MarshalTo(data []byte) (int, error) {
var i int
_ = i
var l int
_ = l
if len(m.SubscriptionID) > 0 {
data[i] = 0xa
i++
i = encodeVarintLogbroker(data, i, uint64(len(m.SubscriptionID)))
i += copy(data[i:], m.SubscriptionID)
}
if len(m.Messages) > 0 {
for _, msg := range m.Messages {
data[i] = 0x12
i++
i = encodeVarintLogbroker(data, i, uint64(msg.Size()))
n, err := msg.MarshalTo(data[i:])
if err != nil {
return 0, err
}
i += n
}
}
return i, nil
}
func (m *PublishLogsResponse) Marshal() (data []byte, err error) {
size := m.Size()
data = make([]byte, size)
n, err := m.MarshalTo(data)
if err != nil {
return nil, err
}
return data[:n], nil
}
func (m *PublishLogsResponse) MarshalTo(data []byte) (int, error) {
var i int
_ = i
var l int
_ = l
return i, nil
}
func encodeFixed64Logbroker(data []byte, offset int, v uint64) int {
data[offset] = uint8(v)
data[offset+1] = uint8(v >> 8)
data[offset+2] = uint8(v >> 16)
data[offset+3] = uint8(v >> 24)
data[offset+4] = uint8(v >> 32)
data[offset+5] = uint8(v >> 40)
data[offset+6] = uint8(v >> 48)
data[offset+7] = uint8(v >> 56)
return offset + 8
}
func encodeFixed32Logbroker(data []byte, offset int, v uint32) int {
data[offset] = uint8(v)
data[offset+1] = uint8(v >> 8)
data[offset+2] = uint8(v >> 16)
data[offset+3] = uint8(v >> 24)
return offset + 4
}
func encodeVarintLogbroker(data []byte, offset int, v uint64) int {
for v >= 1<<7 {
data[offset] = uint8(v&0x7f | 0x80)
v >>= 7
offset++
}
data[offset] = uint8(v)
return offset + 1
}
type raftProxyLogsServer struct {
local LogsServer
connSelector raftselector.ConnProvider
ctxMods []func(context.Context) (context.Context, error)
}
func NewRaftProxyLogsServer(local LogsServer, connSelector raftselector.ConnProvider, ctxMod func(context.Context) (context.Context, error)) LogsServer {
redirectChecker := func(ctx context.Context) (context.Context, error) {
s, ok := transport.StreamFromContext(ctx)
if !ok {
return ctx, grpc.Errorf(codes.InvalidArgument, "remote addr is not found in context")
}
addr := s.ServerTransport().RemoteAddr().String()
md, ok := metadata.FromContext(ctx)
if ok && len(md["redirect"]) != 0 {
return ctx, grpc.Errorf(codes.ResourceExhausted, "more than one redirect to leader from: %s", md["redirect"])
}
if !ok {
md = metadata.New(map[string]string{})
}
md["redirect"] = append(md["redirect"], addr)
return metadata.NewContext(ctx, md), nil
}
mods := []func(context.Context) (context.Context, error){redirectChecker}
mods = append(mods, ctxMod)
return &raftProxyLogsServer{
local: local,
connSelector: connSelector,
ctxMods: mods,
}
}
func (p *raftProxyLogsServer) runCtxMods(ctx context.Context) (context.Context, error) {
var err error
for _, mod := range p.ctxMods {
ctx, err = mod(ctx)
if err != nil {
return ctx, err
}
}
return ctx, nil
}
func (p *raftProxyLogsServer) pollNewLeaderConn(ctx context.Context) (*grpc.ClientConn, error) {
ticker := time.NewTicker(500 * time.Millisecond)
defer ticker.Stop()
for {
select {
case <-ticker.C:
conn, err := p.connSelector.LeaderConn(ctx)
if err != nil {
return nil, err
}
client := NewHealthClient(conn)
resp, err := client.Check(ctx, &HealthCheckRequest{Service: "Raft"})
if err != nil || resp.Status != HealthCheckResponse_SERVING {
continue
}
return conn, nil
case <-ctx.Done():
return nil, ctx.Err()
}
}
}
func (p *raftProxyLogsServer) SubscribeLogs(r *SubscribeLogsRequest, stream Logs_SubscribeLogsServer) error {
ctx := stream.Context()
conn, err := p.connSelector.LeaderConn(ctx)
if err != nil {
if err == raftselector.ErrIsLeader {
return p.local.SubscribeLogs(r, stream)
}
return err
}
ctx, err = p.runCtxMods(ctx)
if err != nil {
return err
}
clientStream, err := NewLogsClient(conn).SubscribeLogs(ctx, r)
if err != nil {
return err
}
for {
msg, err := clientStream.Recv()
if err == io.EOF {
break
}
if err != nil {
return err
}
if err := stream.Send(msg); err != nil {
return err
}
}
return nil
}
type raftProxyLogBrokerServer struct {
local LogBrokerServer
connSelector raftselector.ConnProvider
ctxMods []func(context.Context) (context.Context, error)
}
func NewRaftProxyLogBrokerServer(local LogBrokerServer, connSelector raftselector.ConnProvider, ctxMod func(context.Context) (context.Context, error)) LogBrokerServer {
redirectChecker := func(ctx context.Context) (context.Context, error) {
s, ok := transport.StreamFromContext(ctx)
if !ok {
return ctx, grpc.Errorf(codes.InvalidArgument, "remote addr is not found in context")
}
addr := s.ServerTransport().RemoteAddr().String()
md, ok := metadata.FromContext(ctx)
if ok && len(md["redirect"]) != 0 {
return ctx, grpc.Errorf(codes.ResourceExhausted, "more than one redirect to leader from: %s", md["redirect"])
}
if !ok {
md = metadata.New(map[string]string{})
}
md["redirect"] = append(md["redirect"], addr)
return metadata.NewContext(ctx, md), nil
}
mods := []func(context.Context) (context.Context, error){redirectChecker}
mods = append(mods, ctxMod)
return &raftProxyLogBrokerServer{
local: local,
connSelector: connSelector,
ctxMods: mods,
}
}
func (p *raftProxyLogBrokerServer) runCtxMods(ctx context.Context) (context.Context, error) {
var err error
for _, mod := range p.ctxMods {
ctx, err = mod(ctx)
if err != nil {
return ctx, err
}
}
return ctx, nil
}
func (p *raftProxyLogBrokerServer) pollNewLeaderConn(ctx context.Context) (*grpc.ClientConn, error) {
ticker := time.NewTicker(500 * time.Millisecond)
defer ticker.Stop()
for {
select {
case <-ticker.C:
conn, err := p.connSelector.LeaderConn(ctx)
if err != nil {
return nil, err
}
client := NewHealthClient(conn)
resp, err := client.Check(ctx, &HealthCheckRequest{Service: "Raft"})
if err != nil || resp.Status != HealthCheckResponse_SERVING {
continue
}
return conn, nil
case <-ctx.Done():
return nil, ctx.Err()
}
}
}
func (p *raftProxyLogBrokerServer) ListenSubscriptions(r *ListenSubscriptionsRequest, stream LogBroker_ListenSubscriptionsServer) error {
ctx := stream.Context()
conn, err := p.connSelector.LeaderConn(ctx)
if err != nil {
if err == raftselector.ErrIsLeader {
return p.local.ListenSubscriptions(r, stream)
}
return err
}
ctx, err = p.runCtxMods(ctx)
if err != nil {
return err
}
clientStream, err := NewLogBrokerClient(conn).ListenSubscriptions(ctx, r)
if err != nil {
return err
}
for {
msg, err := clientStream.Recv()
if err == io.EOF {
break
}
if err != nil {
return err
}
if err := stream.Send(msg); err != nil {
return err
}
}
return nil
}
func (p *raftProxyLogBrokerServer) PublishLogs(stream LogBroker_PublishLogsServer) error {
ctx := stream.Context()
conn, err := p.connSelector.LeaderConn(ctx)
if err != nil {
if err == raftselector.ErrIsLeader {
return p.local.PublishLogs(stream)
}
return err
}
ctx, err = p.runCtxMods(ctx)
if err != nil {
return err
}
clientStream, err := NewLogBrokerClient(conn).PublishLogs(ctx)
if err != nil {
return err
}
for {
msg, err := stream.Recv()
if err == io.EOF {
break
}
if err != nil {
return err
}
if err := clientStream.Send(msg); err != nil {
return err
}
}
reply, err := clientStream.CloseAndRecv()
if err != nil {
return err
}
return stream.SendAndClose(reply)
}
func (m *LogSubscriptionOptions) Size() (n int) {
var l int
_ = l
if len(m.Streams) > 0 {
for _, e := range m.Streams {
n += 1 + sovLogbroker(uint64(e))
}
}
if m.Follow {
n += 2
}
if m.Tail != 0 {
n += 1 + sovLogbroker(uint64(m.Tail))
}
if m.Since != nil {
l = m.Since.Size()
n += 1 + l + sovLogbroker(uint64(l))
}
return n
}
func (m *LogSelector) Size() (n int) {
var l int
_ = l
if len(m.ServiceIDs) > 0 {
for _, s := range m.ServiceIDs {
l = len(s)
n += 1 + l + sovLogbroker(uint64(l))
}
}
if len(m.NodeIDs) > 0 {
for _, s := range m.NodeIDs {
l = len(s)
n += 1 + l + sovLogbroker(uint64(l))
}
}
if len(m.TaskIDs) > 0 {
for _, s := range m.TaskIDs {
l = len(s)
n += 1 + l + sovLogbroker(uint64(l))
}
}
return n
}
func (m *LogContext) Size() (n int) {
var l int
_ = l
l = len(m.ServiceID)
if l > 0 {
n += 1 + l + sovLogbroker(uint64(l))
}
l = len(m.NodeID)
if l > 0 {
n += 1 + l + sovLogbroker(uint64(l))
}
l = len(m.TaskID)
if l > 0 {
n += 1 + l + sovLogbroker(uint64(l))
}
return n
}
func (m *LogMessage) Size() (n int) {
var l int
_ = l
l = m.Context.Size()
n += 1 + l + sovLogbroker(uint64(l))
if m.Timestamp != nil {
l = m.Timestamp.Size()
n += 1 + l + sovLogbroker(uint64(l))
}
if m.Stream != 0 {
n += 1 + sovLogbroker(uint64(m.Stream))
}
l = len(m.Data)
if l > 0 {
n += 1 + l + sovLogbroker(uint64(l))
}
return n
}
func (m *SubscribeLogsRequest) Size() (n int) {
var l int
_ = l
if m.Selector != nil {
l = m.Selector.Size()
n += 1 + l + sovLogbroker(uint64(l))
}
if m.Options != nil {
l = m.Options.Size()
n += 1 + l + sovLogbroker(uint64(l))
}
return n
}
func (m *SubscribeLogsMessage) Size() (n int) {
var l int
_ = l
if len(m.Messages) > 0 {
for _, e := range m.Messages {
l = e.Size()
n += 1 + l + sovLogbroker(uint64(l))
}
}
return n
}
func (m *ListenSubscriptionsRequest) Size() (n int) {
var l int
_ = l
return n
}
func (m *SubscriptionMessage) Size() (n int) {
var l int
_ = l
l = len(m.ID)
if l > 0 {
n += 1 + l + sovLogbroker(uint64(l))
}
if m.Selector != nil {
l = m.Selector.Size()
n += 1 + l + sovLogbroker(uint64(l))
}
if m.Options != nil {
l = m.Options.Size()
n += 1 + l + sovLogbroker(uint64(l))
}
if m.Close {
n += 2
}
return n
}
func (m *PublishLogsMessage) Size() (n int) {
var l int
_ = l
l = len(m.SubscriptionID)
if l > 0 {
n += 1 + l + sovLogbroker(uint64(l))
}
if len(m.Messages) > 0 {
for _, e := range m.Messages {
l = e.Size()
n += 1 + l + sovLogbroker(uint64(l))
}
}
return n
}
func (m *PublishLogsResponse) Size() (n int) {
var l int
_ = l
return n
}
func sovLogbroker(x uint64) (n int) {
for {
n++
x >>= 7
if x == 0 {
break
}
}
return n
}
func sozLogbroker(x uint64) (n int) {
return sovLogbroker(uint64((x << 1) ^ uint64((int64(x) >> 63))))
}
func (this *LogSubscriptionOptions) String() string {
if this == nil {
return "nil"
}
s := strings.Join([]string{`&LogSubscriptionOptions{`,
`Streams:` + fmt.Sprintf("%v", this.Streams) + `,`,
`Follow:` + fmt.Sprintf("%v", this.Follow) + `,`,
`Tail:` + fmt.Sprintf("%v", this.Tail) + `,`,
`Since:` + strings.Replace(fmt.Sprintf("%v", this.Since), "Timestamp", "docker_swarmkit_v1.Timestamp", 1) + `,`,
`}`,
}, "")
return s
}
func (this *LogSelector) String() string {
if this == nil {
return "nil"
}
s := strings.Join([]string{`&LogSelector{`,
`ServiceIDs:` + fmt.Sprintf("%v", this.ServiceIDs) + `,`,
`NodeIDs:` + fmt.Sprintf("%v", this.NodeIDs) + `,`,
`TaskIDs:` + fmt.Sprintf("%v", this.TaskIDs) + `,`,
`}`,
}, "")
return s
}
func (this *LogContext) String() string {
if this == nil {
return "nil"
}
s := strings.Join([]string{`&LogContext{`,
`ServiceID:` + fmt.Sprintf("%v", this.ServiceID) + `,`,
`NodeID:` + fmt.Sprintf("%v", this.NodeID) + `,`,
`TaskID:` + fmt.Sprintf("%v", this.TaskID) + `,`,
`}`,
}, "")
return s
}
func (this *LogMessage) String() string {
if this == nil {
return "nil"
}
s := strings.Join([]string{`&LogMessage{`,
`Context:` + strings.Replace(strings.Replace(this.Context.String(), "LogContext", "LogContext", 1), `&`, ``, 1) + `,`,
`Timestamp:` + strings.Replace(fmt.Sprintf("%v", this.Timestamp), "Timestamp", "docker_swarmkit_v1.Timestamp", 1) + `,`,
`Stream:` + fmt.Sprintf("%v", this.Stream) + `,`,
`Data:` + fmt.Sprintf("%v", this.Data) + `,`,
`}`,
}, "")
return s
}
func (this *SubscribeLogsRequest) String() string {
if this == nil {
return "nil"
}
s := strings.Join([]string{`&SubscribeLogsRequest{`,
`Selector:` + strings.Replace(fmt.Sprintf("%v", this.Selector), "LogSelector", "LogSelector", 1) + `,`,
`Options:` + strings.Replace(fmt.Sprintf("%v", this.Options), "LogSubscriptionOptions", "LogSubscriptionOptions", 1) + `,`,
`}`,
}, "")
return s
}
func (this *SubscribeLogsMessage) String() string {
if this == nil {
return "nil"
}
s := strings.Join([]string{`&SubscribeLogsMessage{`,
`Messages:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Messages), "LogMessage", "LogMessage", 1), `&`, ``, 1) + `,`,
`}`,
}, "")
return s
}
func (this *ListenSubscriptionsRequest) String() string {
if this == nil {
return "nil"
}
s := strings.Join([]string{`&ListenSubscriptionsRequest{`,
`}`,
}, "")
return s
}
func (this *SubscriptionMessage) String() string {
if this == nil {
return "nil"
}
s := strings.Join([]string{`&SubscriptionMessage{`,
`ID:` + fmt.Sprintf("%v", this.ID) + `,`,
`Selector:` + strings.Replace(fmt.Sprintf("%v", this.Selector), "LogSelector", "LogSelector", 1) + `,`,
`Options:` + strings.Replace(fmt.Sprintf("%v", this.Options), "LogSubscriptionOptions", "LogSubscriptionOptions", 1) + `,`,
`Close:` + fmt.Sprintf("%v", this.Close) + `,`,
`}`,
}, "")
return s
}
func (this *PublishLogsMessage) String() string {
if this == nil {
return "nil"
}
s := strings.Join([]string{`&PublishLogsMessage{`,
`SubscriptionID:` + fmt.Sprintf("%v", this.SubscriptionID) + `,`,
`Messages:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Messages), "LogMessage", "LogMessage", 1), `&`, ``, 1) + `,`,
`}`,
}, "")
return s
}
func (this *PublishLogsResponse) String() string {
if this == nil {
return "nil"
}
s := strings.Join([]string{`&PublishLogsResponse{`,
`}`,
}, "")
return s
}
func valueToStringLogbroker(v interface{}) string {
rv := reflect.ValueOf(v)
if rv.IsNil() {
return "nil"
}
pv := reflect.Indirect(rv).Interface()
return fmt.Sprintf("*%v", pv)
}
func (m *LogSubscriptionOptions) Unmarshal(data []byte) error {
l := len(data)
iNdEx := 0
for iNdEx < l {
preIndex := iNdEx
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowLogbroker
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := data[iNdEx]
iNdEx++
wire |= (uint64(b) & 0x7F) << shift
if b < 0x80 {
break
}
}
fieldNum := int32(wire >> 3)
wireType := int(wire & 0x7)
if wireType == 4 {
return fmt.Errorf("proto: LogSubscriptionOptions: wiretype end group for non-group")
}
if fieldNum <= 0 {
return fmt.Errorf("proto: LogSubscriptionOptions: illegal tag %d (wire type %d)", fieldNum, wire)
}
switch fieldNum {
case 1:
if wireType != 0 {
return fmt.Errorf("proto: wrong wireType = %d for field Streams", wireType)
}
var v LogStream
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowLogbroker
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := data[iNdEx]
iNdEx++
v |= (LogStream(b) & 0x7F) << shift
if b < 0x80 {
break
}
}
m.Streams = append(m.Streams, v)
case 2:
if wireType != 0 {
return fmt.Errorf("proto: wrong wireType = %d for field Follow", wireType)
}
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowLogbroker
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := data[iNdEx]
iNdEx++
v |= (int(b) & 0x7F) << shift
if b < 0x80 {
break
}
}
m.Follow = bool(v != 0)
case 3:
if wireType != 0 {
return fmt.Errorf("proto: wrong wireType = %d for field Tail", wireType)
}
m.Tail = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowLogbroker
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := data[iNdEx]
iNdEx++
m.Tail |= (int64(b) & 0x7F) << shift
if b < 0x80 {
break
}
}
case 4:
if wireType != 2 {
return fmt.Errorf("proto: wrong wireType = %d for field Since", wireType)
}
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowLogbroker
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := data[iNdEx]
iNdEx++
msglen |= (int(b) & 0x7F) << shift
if b < 0x80 {
break
}
}
if msglen < 0 {
return ErrInvalidLengthLogbroker
}
postIndex := iNdEx + msglen
if postIndex > l {
return io.ErrUnexpectedEOF
}
if m.Since == nil {
m.Since = &docker_swarmkit_v1.Timestamp{}
}
if err := m.Since.Unmarshal(data[iNdEx:postIndex]); err != nil {
return err
}
iNdEx = postIndex
default:
iNdEx = preIndex
skippy, err := skipLogbroker(data[iNdEx:])
if err != nil {
return err
}
if skippy < 0 {
return ErrInvalidLengthLogbroker
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
}
iNdEx += skippy
}
}
if iNdEx > l {
return io.ErrUnexpectedEOF
}
return nil
}
func (m *LogSelector) Unmarshal(data []byte) error {
l := len(data)
iNdEx := 0
for iNdEx < l {
preIndex := iNdEx
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowLogbroker
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := data[iNdEx]
iNdEx++
wire |= (uint64(b) & 0x7F) << shift
if b < 0x80 {
break
}
}
fieldNum := int32(wire >> 3)
wireType := int(wire & 0x7)
if wireType == 4 {
return fmt.Errorf("proto: LogSelector: wiretype end group for non-group")
}
if fieldNum <= 0 {
return fmt.Errorf("proto: LogSelector: illegal tag %d (wire type %d)", fieldNum, wire)
}
switch fieldNum {
case 1:
if wireType != 2 {
return fmt.Errorf("proto: wrong wireType = %d for field ServiceIDs", wireType)
}
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowLogbroker
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := data[iNdEx]
iNdEx++
stringLen |= (uint64(b) & 0x7F) << shift
if b < 0x80 {
break
}
}
intStringLen := int(stringLen)
if intStringLen < 0 {
return ErrInvalidLengthLogbroker
}
postIndex := iNdEx + intStringLen
if postIndex > l {
return io.ErrUnexpectedEOF
}
m.ServiceIDs = append(m.ServiceIDs, string(data[iNdEx:postIndex]))
iNdEx = postIndex
case 2:
if wireType != 2 {
return fmt.Errorf("proto: wrong wireType = %d for field NodeIDs", wireType)
}
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowLogbroker
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := data[iNdEx]
iNdEx++
stringLen |= (uint64(b) & 0x7F) << shift
if b < 0x80 {
break
}
}
intStringLen := int(stringLen)
if intStringLen < 0 {
return ErrInvalidLengthLogbroker
}
postIndex := iNdEx + intStringLen
if postIndex > l {
return io.ErrUnexpectedEOF
}
m.NodeIDs = append(m.NodeIDs, string(data[iNdEx:postIndex]))
iNdEx = postIndex
case 3:
if wireType != 2 {
return fmt.Errorf("proto: wrong wireType = %d for field TaskIDs", wireType)
}
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowLogbroker
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := data[iNdEx]
iNdEx++
stringLen |= (uint64(b) & 0x7F) << shift
if b < 0x80 {
break
}
}
intStringLen := int(stringLen)
if intStringLen < 0 {
return ErrInvalidLengthLogbroker
}
postIndex := iNdEx + intStringLen
if postIndex > l {
return io.ErrUnexpectedEOF
}
m.TaskIDs = append(m.TaskIDs, string(data[iNdEx:postIndex]))
iNdEx = postIndex
default:
iNdEx = preIndex
skippy, err := skipLogbroker(data[iNdEx:])
if err != nil {
return err
}
if skippy < 0 {
return ErrInvalidLengthLogbroker
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
}
iNdEx += skippy
}
}
if iNdEx > l {
return io.ErrUnexpectedEOF
}
return nil
}
func (m *LogContext) Unmarshal(data []byte) error {
l := len(data)
iNdEx := 0
for iNdEx < l {
preIndex := iNdEx
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowLogbroker
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := data[iNdEx]
iNdEx++
wire |= (uint64(b) & 0x7F) << shift
if b < 0x80 {
break
}
}
fieldNum := int32(wire >> 3)
wireType := int(wire & 0x7)
if wireType == 4 {
return fmt.Errorf("proto: LogContext: wiretype end group for non-group")
}
if fieldNum <= 0 {
return fmt.Errorf("proto: LogContext: illegal tag %d (wire type %d)", fieldNum, wire)
}
switch fieldNum {
case 1:
if wireType != 2 {
return fmt.Errorf("proto: wrong wireType = %d for field ServiceID", wireType)
}
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowLogbroker
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := data[iNdEx]
iNdEx++
stringLen |= (uint64(b) & 0x7F) << shift
if b < 0x80 {
break
}
}
intStringLen := int(stringLen)
if intStringLen < 0 {
return ErrInvalidLengthLogbroker
}
postIndex := iNdEx + intStringLen
if postIndex > l {
return io.ErrUnexpectedEOF
}
m.ServiceID = string(data[iNdEx:postIndex])
iNdEx = postIndex
case 2:
if wireType != 2 {
return fmt.Errorf("proto: wrong wireType = %d for field NodeID", wireType)
}
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowLogbroker
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := data[iNdEx]
iNdEx++
stringLen |= (uint64(b) & 0x7F) << shift
if b < 0x80 {
break
}
}
intStringLen := int(stringLen)
if intStringLen < 0 {
return ErrInvalidLengthLogbroker
}
postIndex := iNdEx + intStringLen
if postIndex > l {
return io.ErrUnexpectedEOF
}
m.NodeID = string(data[iNdEx:postIndex])
iNdEx = postIndex
case 3:
if wireType != 2 {
return fmt.Errorf("proto: wrong wireType = %d for field TaskID", wireType)
}
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowLogbroker
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := data[iNdEx]
iNdEx++
stringLen |= (uint64(b) & 0x7F) << shift
if b < 0x80 {
break
}
}
intStringLen := int(stringLen)
if intStringLen < 0 {
return ErrInvalidLengthLogbroker
}
postIndex := iNdEx + intStringLen
if postIndex > l {
return io.ErrUnexpectedEOF
}
m.TaskID = string(data[iNdEx:postIndex])
iNdEx = postIndex
default:
iNdEx = preIndex
skippy, err := skipLogbroker(data[iNdEx:])
if err != nil {
return err
}
if skippy < 0 {
return ErrInvalidLengthLogbroker
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
}
iNdEx += skippy
}
}
if iNdEx > l {
return io.ErrUnexpectedEOF
}
return nil
}
func (m *LogMessage) Unmarshal(data []byte) error {
l := len(data)
iNdEx := 0
for iNdEx < l {
preIndex := iNdEx
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowLogbroker
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := data[iNdEx]
iNdEx++
wire |= (uint64(b) & 0x7F) << shift
if b < 0x80 {
break
}
}
fieldNum := int32(wire >> 3)
wireType := int(wire & 0x7)
if wireType == 4 {
return fmt.Errorf("proto: LogMessage: wiretype end group for non-group")
}
if fieldNum <= 0 {
return fmt.Errorf("proto: LogMessage: illegal tag %d (wire type %d)", fieldNum, wire)
}
switch fieldNum {
case 1:
if wireType != 2 {
return fmt.Errorf("proto: wrong wireType = %d for field Context", wireType)
}
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowLogbroker
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := data[iNdEx]
iNdEx++
msglen |= (int(b) & 0x7F) << shift
if b < 0x80 {
break
}
}
if msglen < 0 {
return ErrInvalidLengthLogbroker
}
postIndex := iNdEx + msglen
if postIndex > l {
return io.ErrUnexpectedEOF
}
if err := m.Context.Unmarshal(data[iNdEx:postIndex]); err != nil {
return err
}
iNdEx = postIndex
case 2:
if wireType != 2 {
return fmt.Errorf("proto: wrong wireType = %d for field Timestamp", wireType)
}
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowLogbroker
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := data[iNdEx]
iNdEx++
msglen |= (int(b) & 0x7F) << shift
if b < 0x80 {
break
}
}
if msglen < 0 {
return ErrInvalidLengthLogbroker
}
postIndex := iNdEx + msglen
if postIndex > l {
return io.ErrUnexpectedEOF
}
if m.Timestamp == nil {
m.Timestamp = &docker_swarmkit_v1.Timestamp{}
}
if err := m.Timestamp.Unmarshal(data[iNdEx:postIndex]); err != nil {
return err
}
iNdEx = postIndex
case 3:
if wireType != 0 {
return fmt.Errorf("proto: wrong wireType = %d for field Stream", wireType)
}
m.Stream = 0
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowLogbroker
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := data[iNdEx]
iNdEx++
m.Stream |= (LogStream(b) & 0x7F) << shift
if b < 0x80 {
break
}
}
case 4:
if wireType != 2 {
return fmt.Errorf("proto: wrong wireType = %d for field Data", wireType)
}
var byteLen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowLogbroker
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := data[iNdEx]
iNdEx++
byteLen |= (int(b) & 0x7F) << shift
if b < 0x80 {
break
}
}
if byteLen < 0 {
return ErrInvalidLengthLogbroker
}
postIndex := iNdEx + byteLen
if postIndex > l {
return io.ErrUnexpectedEOF
}
m.Data = append(m.Data[:0], data[iNdEx:postIndex]...)
if m.Data == nil {
m.Data = []byte{}
}
iNdEx = postIndex
default:
iNdEx = preIndex
skippy, err := skipLogbroker(data[iNdEx:])
if err != nil {
return err
}
if skippy < 0 {
return ErrInvalidLengthLogbroker
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
}
iNdEx += skippy
}
}
if iNdEx > l {
return io.ErrUnexpectedEOF
}
return nil
}
func (m *SubscribeLogsRequest) Unmarshal(data []byte) error {
l := len(data)
iNdEx := 0
for iNdEx < l {
preIndex := iNdEx
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowLogbroker
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := data[iNdEx]
iNdEx++
wire |= (uint64(b) & 0x7F) << shift
if b < 0x80 {
break
}
}
fieldNum := int32(wire >> 3)
wireType := int(wire & 0x7)
if wireType == 4 {
return fmt.Errorf("proto: SubscribeLogsRequest: wiretype end group for non-group")
}
if fieldNum <= 0 {
return fmt.Errorf("proto: SubscribeLogsRequest: illegal tag %d (wire type %d)", fieldNum, wire)
}
switch fieldNum {
case 1:
if wireType != 2 {
return fmt.Errorf("proto: wrong wireType = %d for field Selector", wireType)
}
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowLogbroker
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := data[iNdEx]
iNdEx++
msglen |= (int(b) & 0x7F) << shift
if b < 0x80 {
break
}
}
if msglen < 0 {
return ErrInvalidLengthLogbroker
}
postIndex := iNdEx + msglen
if postIndex > l {
return io.ErrUnexpectedEOF
}
if m.Selector == nil {
m.Selector = &LogSelector{}
}
if err := m.Selector.Unmarshal(data[iNdEx:postIndex]); err != nil {
return err
}
iNdEx = postIndex
case 2:
if wireType != 2 {
return fmt.Errorf("proto: wrong wireType = %d for field Options", wireType)
}
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowLogbroker
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := data[iNdEx]
iNdEx++
msglen |= (int(b) & 0x7F) << shift
if b < 0x80 {
break
}
}
if msglen < 0 {
return ErrInvalidLengthLogbroker
}
postIndex := iNdEx + msglen
if postIndex > l {
return io.ErrUnexpectedEOF
}
if m.Options == nil {
m.Options = &LogSubscriptionOptions{}
}
if err := m.Options.Unmarshal(data[iNdEx:postIndex]); err != nil {
return err
}
iNdEx = postIndex
default:
iNdEx = preIndex
skippy, err := skipLogbroker(data[iNdEx:])
if err != nil {
return err
}
if skippy < 0 {
return ErrInvalidLengthLogbroker
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
}
iNdEx += skippy
}
}
if iNdEx > l {
return io.ErrUnexpectedEOF
}
return nil
}
func (m *SubscribeLogsMessage) Unmarshal(data []byte) error {
l := len(data)
iNdEx := 0
for iNdEx < l {
preIndex := iNdEx
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowLogbroker
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := data[iNdEx]
iNdEx++
wire |= (uint64(b) & 0x7F) << shift
if b < 0x80 {
break
}
}
fieldNum := int32(wire >> 3)
wireType := int(wire & 0x7)
if wireType == 4 {
return fmt.Errorf("proto: SubscribeLogsMessage: wiretype end group for non-group")
}
if fieldNum <= 0 {
return fmt.Errorf("proto: SubscribeLogsMessage: illegal tag %d (wire type %d)", fieldNum, wire)
}
switch fieldNum {
case 1:
if wireType != 2 {
return fmt.Errorf("proto: wrong wireType = %d for field Messages", wireType)
}
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowLogbroker
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := data[iNdEx]
iNdEx++
msglen |= (int(b) & 0x7F) << shift
if b < 0x80 {
break
}
}
if msglen < 0 {
return ErrInvalidLengthLogbroker
}
postIndex := iNdEx + msglen
if postIndex > l {
return io.ErrUnexpectedEOF
}
m.Messages = append(m.Messages, LogMessage{})
if err := m.Messages[len(m.Messages)-1].Unmarshal(data[iNdEx:postIndex]); err != nil {
return err
}
iNdEx = postIndex
default:
iNdEx = preIndex
skippy, err := skipLogbroker(data[iNdEx:])
if err != nil {
return err
}
if skippy < 0 {
return ErrInvalidLengthLogbroker
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
}
iNdEx += skippy
}
}
if iNdEx > l {
return io.ErrUnexpectedEOF
}
return nil
}
func (m *ListenSubscriptionsRequest) Unmarshal(data []byte) error {
l := len(data)
iNdEx := 0
for iNdEx < l {
preIndex := iNdEx
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowLogbroker
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := data[iNdEx]
iNdEx++
wire |= (uint64(b) & 0x7F) << shift
if b < 0x80 {
break
}
}
fieldNum := int32(wire >> 3)
wireType := int(wire & 0x7)
if wireType == 4 {
return fmt.Errorf("proto: ListenSubscriptionsRequest: wiretype end group for non-group")
}
if fieldNum <= 0 {
return fmt.Errorf("proto: ListenSubscriptionsRequest: illegal tag %d (wire type %d)", fieldNum, wire)
}
switch fieldNum {
default:
iNdEx = preIndex
skippy, err := skipLogbroker(data[iNdEx:])
if err != nil {
return err
}
if skippy < 0 {
return ErrInvalidLengthLogbroker
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
}
iNdEx += skippy
}
}
if iNdEx > l {
return io.ErrUnexpectedEOF
}
return nil
}
func (m *SubscriptionMessage) Unmarshal(data []byte) error {
l := len(data)
iNdEx := 0
for iNdEx < l {
preIndex := iNdEx
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowLogbroker
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := data[iNdEx]
iNdEx++
wire |= (uint64(b) & 0x7F) << shift
if b < 0x80 {
break
}
}
fieldNum := int32(wire >> 3)
wireType := int(wire & 0x7)
if wireType == 4 {
return fmt.Errorf("proto: SubscriptionMessage: wiretype end group for non-group")
}
if fieldNum <= 0 {
return fmt.Errorf("proto: SubscriptionMessage: illegal tag %d (wire type %d)", fieldNum, wire)
}
switch fieldNum {
case 1:
if wireType != 2 {
return fmt.Errorf("proto: wrong wireType = %d for field ID", wireType)
}
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowLogbroker
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := data[iNdEx]
iNdEx++
stringLen |= (uint64(b) & 0x7F) << shift
if b < 0x80 {
break
}
}
intStringLen := int(stringLen)
if intStringLen < 0 {
return ErrInvalidLengthLogbroker
}
postIndex := iNdEx + intStringLen
if postIndex > l {
return io.ErrUnexpectedEOF
}
m.ID = string(data[iNdEx:postIndex])
iNdEx = postIndex
case 2:
if wireType != 2 {
return fmt.Errorf("proto: wrong wireType = %d for field Selector", wireType)
}
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowLogbroker
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := data[iNdEx]
iNdEx++
msglen |= (int(b) & 0x7F) << shift
if b < 0x80 {
break
}
}
if msglen < 0 {
return ErrInvalidLengthLogbroker
}
postIndex := iNdEx + msglen
if postIndex > l {
return io.ErrUnexpectedEOF
}
if m.Selector == nil {
m.Selector = &LogSelector{}
}
if err := m.Selector.Unmarshal(data[iNdEx:postIndex]); err != nil {
return err
}
iNdEx = postIndex
case 3:
if wireType != 2 {
return fmt.Errorf("proto: wrong wireType = %d for field Options", wireType)
}
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowLogbroker
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := data[iNdEx]
iNdEx++
msglen |= (int(b) & 0x7F) << shift
if b < 0x80 {
break
}
}
if msglen < 0 {
return ErrInvalidLengthLogbroker
}
postIndex := iNdEx + msglen
if postIndex > l {
return io.ErrUnexpectedEOF
}
if m.Options == nil {
m.Options = &LogSubscriptionOptions{}
}
if err := m.Options.Unmarshal(data[iNdEx:postIndex]); err != nil {
return err
}
iNdEx = postIndex
case 4:
if wireType != 0 {
return fmt.Errorf("proto: wrong wireType = %d for field Close", wireType)
}
var v int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowLogbroker
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := data[iNdEx]
iNdEx++
v |= (int(b) & 0x7F) << shift
if b < 0x80 {
break
}
}
m.Close = bool(v != 0)
default:
iNdEx = preIndex
skippy, err := skipLogbroker(data[iNdEx:])
if err != nil {
return err
}
if skippy < 0 {
return ErrInvalidLengthLogbroker
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
}
iNdEx += skippy
}
}
if iNdEx > l {
return io.ErrUnexpectedEOF
}
return nil
}
func (m *PublishLogsMessage) Unmarshal(data []byte) error {
l := len(data)
iNdEx := 0
for iNdEx < l {
preIndex := iNdEx
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowLogbroker
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := data[iNdEx]
iNdEx++
wire |= (uint64(b) & 0x7F) << shift
if b < 0x80 {
break
}
}
fieldNum := int32(wire >> 3)
wireType := int(wire & 0x7)
if wireType == 4 {
return fmt.Errorf("proto: PublishLogsMessage: wiretype end group for non-group")
}
if fieldNum <= 0 {
return fmt.Errorf("proto: PublishLogsMessage: illegal tag %d (wire type %d)", fieldNum, wire)
}
switch fieldNum {
case 1:
if wireType != 2 {
return fmt.Errorf("proto: wrong wireType = %d for field SubscriptionID", wireType)
}
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowLogbroker
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := data[iNdEx]
iNdEx++
stringLen |= (uint64(b) & 0x7F) << shift
if b < 0x80 {
break
}
}
intStringLen := int(stringLen)
if intStringLen < 0 {
return ErrInvalidLengthLogbroker
}
postIndex := iNdEx + intStringLen
if postIndex > l {
return io.ErrUnexpectedEOF
}
m.SubscriptionID = string(data[iNdEx:postIndex])
iNdEx = postIndex
case 2:
if wireType != 2 {
return fmt.Errorf("proto: wrong wireType = %d for field Messages", wireType)
}
var msglen int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowLogbroker
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := data[iNdEx]
iNdEx++
msglen |= (int(b) & 0x7F) << shift
if b < 0x80 {
break
}
}
if msglen < 0 {
return ErrInvalidLengthLogbroker
}
postIndex := iNdEx + msglen
if postIndex > l {
return io.ErrUnexpectedEOF
}
m.Messages = append(m.Messages, LogMessage{})
if err := m.Messages[len(m.Messages)-1].Unmarshal(data[iNdEx:postIndex]); err != nil {
return err
}
iNdEx = postIndex
default:
iNdEx = preIndex
skippy, err := skipLogbroker(data[iNdEx:])
if err != nil {
return err
}
if skippy < 0 {
return ErrInvalidLengthLogbroker
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
}
iNdEx += skippy
}
}
if iNdEx > l {
return io.ErrUnexpectedEOF
}
return nil
}
func (m *PublishLogsResponse) Unmarshal(data []byte) error {
l := len(data)
iNdEx := 0
for iNdEx < l {
preIndex := iNdEx
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowLogbroker
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := data[iNdEx]
iNdEx++
wire |= (uint64(b) & 0x7F) << shift
if b < 0x80 {
break
}
}
fieldNum := int32(wire >> 3)
wireType := int(wire & 0x7)
if wireType == 4 {
return fmt.Errorf("proto: PublishLogsResponse: wiretype end group for non-group")
}
if fieldNum <= 0 {
return fmt.Errorf("proto: PublishLogsResponse: illegal tag %d (wire type %d)", fieldNum, wire)
}
switch fieldNum {
default:
iNdEx = preIndex
skippy, err := skipLogbroker(data[iNdEx:])
if err != nil {
return err
}
if skippy < 0 {
return ErrInvalidLengthLogbroker
}
if (iNdEx + skippy) > l {
return io.ErrUnexpectedEOF
}
iNdEx += skippy
}
}
if iNdEx > l {
return io.ErrUnexpectedEOF
}
return nil
}
func skipLogbroker(data []byte) (n int, err error) {
l := len(data)
iNdEx := 0
for iNdEx < l {
var wire uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return 0, ErrIntOverflowLogbroker
}
if iNdEx >= l {
return 0, io.ErrUnexpectedEOF
}
b := data[iNdEx]
iNdEx++
wire |= (uint64(b) & 0x7F) << shift
if b < 0x80 {
break
}
}
wireType := int(wire & 0x7)
switch wireType {
case 0:
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return 0, ErrIntOverflowLogbroker
}
if iNdEx >= l {
return 0, io.ErrUnexpectedEOF
}
iNdEx++
if data[iNdEx-1] < 0x80 {
break
}
}
return iNdEx, nil
case 1:
iNdEx += 8
return iNdEx, nil
case 2:
var length int
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return 0, ErrIntOverflowLogbroker
}
if iNdEx >= l {
return 0, io.ErrUnexpectedEOF
}
b := data[iNdEx]
iNdEx++
length |= (int(b) & 0x7F) << shift
if b < 0x80 {
break
}
}
iNdEx += length
if length < 0 {
return 0, ErrInvalidLengthLogbroker
}
return iNdEx, nil
case 3:
for {
var innerWire uint64
var start int = iNdEx
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return 0, ErrIntOverflowLogbroker
}
if iNdEx >= l {
return 0, io.ErrUnexpectedEOF
}
b := data[iNdEx]
iNdEx++
innerWire |= (uint64(b) & 0x7F) << shift
if b < 0x80 {
break
}
}
innerWireType := int(innerWire & 0x7)
if innerWireType == 4 {
break
}
next, err := skipLogbroker(data[start:])
if err != nil {
return 0, err
}
iNdEx = start + next
}
return iNdEx, nil
case 4:
return iNdEx, nil
case 5:
iNdEx += 4
return iNdEx, nil
default:
return 0, fmt.Errorf("proto: illegal wireType %d", wireType)
}
}
panic("unreachable")
}
var (
ErrInvalidLengthLogbroker = fmt.Errorf("proto: negative length found during unmarshaling")
ErrIntOverflowLogbroker = fmt.Errorf("proto: integer overflow")
)
func init() { proto.RegisterFile("logbroker.proto", fileDescriptorLogbroker) }
var fileDescriptorLogbroker = []byte{
// 872 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xa4, 0x95, 0x4f, 0x8f, 0xdb, 0x44,
0x18, 0xc6, 0x33, 0xce, 0x36, 0x7f, 0xde, 0x74, 0xff, 0x74, 0xb2, 0x5d, 0x85, 0xa8, 0x75, 0x22,
0x57, 0x2a, 0xd1, 0xaa, 0x64, 0x61, 0x2b, 0xc4, 0xa1, 0x12, 0x82, 0x90, 0x0a, 0x45, 0xa4, 0xbb,
0x68, 0x92, 0x15, 0xdc, 0x56, 0x4e, 0x3c, 0x18, 0x2b, 0x8e, 0x27, 0x78, 0x9c, 0x86, 0x03, 0x07,
0x0e, 0x45, 0x42, 0x3d, 0x70, 0x41, 0x48, 0x70, 0xe8, 0x89, 0xde, 0x90, 0x38, 0x70, 0xe4, 0x03,
0xa0, 0x15, 0x27, 0x0e, 0x1c, 0x38, 0x45, 0xac, 0x3f, 0x00, 0xe2, 0x23, 0x20, 0xcf, 0x4c, 0x1c,
0x2f, 0x71, 0x58, 0xb4, 0xbd, 0x24, 0x33, 0x9e, 0xe7, 0xf5, 0xfb, 0x9b, 0x67, 0x9e, 0x91, 0x61,
0xdb, 0x65, 0xf6, 0xc0, 0x67, 0x23, 0xea, 0x37, 0x27, 0x3e, 0x0b, 0x18, 0xc6, 0x16, 0x1b, 0x46,
0x33, 0x3e, 0x33, 0xfd, 0xf1, 0xc8, 0x09, 0x9a, 0x8f, 0x5f, 0xab, 0xee, 0xda, 0xcc, 0x66, 0x62,
0xf9, 0x20, 0x1a, 0x49, 0x65, 0xf5, 0xa5, 0xc0, 0x19, 0x53, 0x1e, 0x98, 0xe3, 0xc9, 0x41, 0x3c,
0x52, 0x4b, 0xe5, 0x89, 0x3b, 0xb5, 0x1d, 0xef, 0x40, 0xfe, 0xc9, 0x87, 0xc6, 0x4f, 0x08, 0xf6,
0xba, 0xcc, 0xee, 0x4d, 0x07, 0x7c, 0xe8, 0x3b, 0x93, 0xc0, 0x61, 0xde, 0xb1, 0xf8, 0xe5, 0xf8,
0x0d, 0xc8, 0xf3, 0xc0, 0xa7, 0xe6, 0x98, 0x57, 0x50, 0x3d, 0xdb, 0xd8, 0x3a, 0xbc, 0xdd, 0x5c,
0xc5, 0x68, 0x46, 0xc5, 0x42, 0x45, 0x16, 0x6a, 0xbc, 0x07, 0xb9, 0x8f, 0x98, 0xeb, 0xb2, 0x59,
0x45, 0xab, 0xa3, 0x46, 0x81, 0xa8, 0x19, 0xc6, 0xb0, 0x11, 0x98, 0x8e, 0x5b, 0xc9, 0xd6, 0x51,
0x23, 0x4b, 0xc4, 0x18, 0xdf, 0x87, 0x6b, 0xdc, 0xf1, 0x86, 0xb4, 0xb2, 0x51, 0x47, 0x8d, 0x52,
0x7a, 0x8b, 0xfe, 0x62, 0x23, 0x44, 0x6a, 0x8d, 0xaf, 0x10, 0x94, 0xa2, 0xbe, 0xd4, 0xa5, 0xc3,
0x80, 0xf9, 0xf8, 0x00, 0x4a, 0x9c, 0xfa, 0x8f, 0x9d, 0x21, 0x3d, 0x75, 0x2c, 0x49, 0x5b, 0x6c,
0x6d, 0x85, 0xf3, 0x1a, 0xf4, 0xe4, 0xe3, 0x4e, 0x9b, 0x13, 0x50, 0x92, 0x8e, 0xc5, 0xf1, 0x5d,
0x28, 0x78, 0xcc, 0x92, 0x6a, 0x4d, 0xa8, 0x4b, 0xe1, 0xbc, 0x96, 0x3f, 0x62, 0x96, 0x90, 0xe6,
0xa3, 0x45, 0xa5, 0x0b, 0x4c, 0x3e, 0x12, 0xba, 0xec, 0x52, 0xd7, 0x37, 0xf9, 0x48, 0xe8, 0xa2,
0xc5, 0x8e, 0xc5, 0x8d, 0x27, 0x08, 0xa0, 0xcb, 0xec, 0x77, 0x98, 0x17, 0xd0, 0x4f, 0x03, 0x7c,
0x0f, 0x60, 0xc9, 0x53, 0x41, 0x75, 0xd4, 0x28, 0xb6, 0x36, 0xc3, 0x79, 0xad, 0x18, 0xe3, 0x90,
0x62, 0x4c, 0x83, 0xef, 0x40, 0x5e, 0xc1, 0x08, 0xbf, 0x8a, 0x2d, 0x08, 0xe7, 0xb5, 0x9c, 0x64,
0x21, 0x39, 0x89, 0x12, 0x89, 0x14, 0x89, 0xb0, 0x4f, 0x89, 0x24, 0x08, 0xc9, 0x49, 0x0e, 0xe3,
0x77, 0x89, 0xf1, 0x88, 0x72, 0x6e, 0xda, 0x14, 0xbf, 0x09, 0xf9, 0xa1, 0x24, 0x12, 0x0c, 0xa5,
0x43, 0x7d, 0xcd, 0x01, 0x2a, 0xee, 0xd6, 0xc6, 0xd9, 0xbc, 0x96, 0x21, 0x8b, 0x22, 0xfc, 0x00,
0x8a, 0x71, 0x86, 0x04, 0xda, 0xa5, 0xe7, 0xb3, 0xd4, 0xe3, 0xd7, 0x21, 0x27, 0xf3, 0x20, 0x78,
0x2f, 0x0d, 0x8f, 0x12, 0x47, 0x19, 0xb1, 0xcc, 0xc0, 0x14, 0x71, 0xb8, 0x4e, 0xc4, 0xd8, 0xf8,
0x0e, 0xc1, 0xae, 0x0a, 0xe8, 0x80, 0x76, 0x99, 0xcd, 0x09, 0xfd, 0x64, 0x4a, 0x79, 0x04, 0x58,
0xe0, 0x2a, 0x03, 0x6a, 0x87, 0xb5, 0x75, 0x5d, 0x94, 0x8c, 0xc4, 0x05, 0xb8, 0x0d, 0x79, 0x26,
0x93, 0xae, 0xf6, 0xb6, 0xbf, 0xae, 0x76, 0xf5, 0x6e, 0x90, 0x45, 0xa9, 0xf1, 0xe1, 0xbf, 0xd0,
0x16, 0xde, 0xbf, 0x05, 0x85, 0xb1, 0x1c, 0xca, 0x3c, 0xae, 0x37, 0x5f, 0x55, 0x28, 0xf3, 0xe3,
0x2a, 0xe3, 0x16, 0x54, 0xbb, 0x0e, 0x0f, 0xa8, 0x97, 0xec, 0xbf, 0xd8, 0xba, 0xf1, 0x0b, 0x82,
0x72, 0x72, 0x61, 0xd1, 0x77, 0x0f, 0xb4, 0x38, 0x72, 0xb9, 0x70, 0x5e, 0xd3, 0x3a, 0x6d, 0xa2,
0x39, 0xd6, 0x05, 0xab, 0xb4, 0x17, 0xb0, 0x2a, 0x7b, 0x65, 0xab, 0xf0, 0x2e, 0x5c, 0x1b, 0xba,
0x8c, 0xcb, 0xab, 0x5e, 0x20, 0x72, 0x62, 0x7c, 0x8d, 0x00, 0xbf, 0x3f, 0x1d, 0xb8, 0x0e, 0xff,
0x38, 0xe9, 0xdf, 0x03, 0xd8, 0xe6, 0x89, 0x97, 0x2d, 0xef, 0x11, 0x0e, 0xe7, 0xb5, 0xad, 0x64,
0x9f, 0x4e, 0x9b, 0x6c, 0x25, 0xa5, 0x1d, 0xeb, 0x82, 0xf9, 0xda, 0x95, 0xcc, 0xbf, 0x09, 0xe5,
0x04, 0x14, 0xa1, 0x7c, 0xc2, 0x3c, 0x4e, 0xf7, 0x9f, 0x23, 0x28, 0xc6, 0x99, 0xc5, 0xf7, 0x00,
0x77, 0x8f, 0xdf, 0x3d, 0xed, 0xf5, 0xc9, 0xc3, 0xb7, 0x1f, 0x9d, 0x9e, 0x1c, 0xbd, 0x77, 0x74,
0xfc, 0xc1, 0xd1, 0x4e, 0xa6, 0xba, 0xfb, 0xf4, 0x59, 0x7d, 0x27, 0x96, 0x9d, 0x78, 0x23, 0x8f,
0xcd, 0x3c, 0xbc, 0x0f, 0x37, 0x12, 0xea, 0x5e, 0xbf, 0x7d, 0x7c, 0xd2, 0xdf, 0x41, 0xd5, 0xf2,
0xd3, 0x67, 0xf5, 0xed, 0x58, 0xdc, 0x0b, 0x2c, 0x36, 0x0d, 0x56, 0xb5, 0x0f, 0x09, 0xd9, 0xd1,
0x56, 0xb5, 0xd4, 0xf7, 0xab, 0x37, 0xbe, 0xfc, 0x5e, 0xcf, 0xfc, 0xfc, 0x5c, 0x5f, 0x82, 0x1d,
0x3e, 0x41, 0xb0, 0x11, 0x71, 0xe3, 0xcf, 0x60, 0xf3, 0x42, 0x3a, 0x71, 0x23, 0xcd, 0x87, 0xb4,
0xbb, 0x55, 0xbd, 0x5c, 0xa9, 0xbc, 0x33, 0x6e, 0xfe, 0xfa, 0xe3, 0x5f, 0xdf, 0x6a, 0xdb, 0xb0,
0x29, 0x94, 0xaf, 0x8c, 0x4d, 0xcf, 0xb4, 0xa9, 0xff, 0x2a, 0x3a, 0xfc, 0x41, 0x13, 0x6e, 0xb5,
0xc4, 0x97, 0x0c, 0x7f, 0x83, 0xa0, 0x9c, 0x12, 0x68, 0xdc, 0x4c, 0x3d, 0x9a, 0xb5, 0xc9, 0xaf,
0xbe, 0xfc, 0x1f, 0x60, 0xc9, 0xab, 0x60, 0xdc, 0x11, 0x5c, 0xb7, 0xe1, 0xba, 0xe4, 0x9a, 0x31,
0x7f, 0x44, 0xfd, 0x15, 0x4a, 0xfc, 0x05, 0x82, 0x52, 0xe2, 0xac, 0xf1, 0xdd, 0xb4, 0xf7, 0xaf,
0x26, 0x34, 0x9d, 0x23, 0x25, 0x34, 0xff, 0x8b, 0xa3, 0x81, 0x5a, 0xb7, 0xce, 0xce, 0xf5, 0xcc,
0x1f, 0xe7, 0x7a, 0xe6, 0xef, 0x73, 0x1d, 0x7d, 0x1e, 0xea, 0xe8, 0x2c, 0xd4, 0xd1, 0x6f, 0xa1,
0x8e, 0xfe, 0x0c, 0x75, 0x34, 0xc8, 0x89, 0xcf, 0xf5, 0xfd, 0x7f, 0x02, 0x00, 0x00, 0xff, 0xff,
0x8b, 0xff, 0xc0, 0x45, 0x1b, 0x08, 0x00, 0x00,
}