grpc_lb_v1

package
v1.33.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 20, 2020 License: Apache-2.0 Imports: 9 Imported by: 37

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func RegisterLoadBalancerServer

func RegisterLoadBalancerServer(s *grpc.Server, srv LoadBalancerServer)

Types

type ClientStats

type ClientStats struct {
	// The timestamp of generating the report.
	Timestamp *timestamp.Timestamp `protobuf:"bytes,1,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
	// The total number of RPCs that started.
	NumCallsStarted int64 `protobuf:"varint,2,opt,name=num_calls_started,json=numCallsStarted,proto3" json:"num_calls_started,omitempty"`
	// The total number of RPCs that finished.
	NumCallsFinished int64 `protobuf:"varint,3,opt,name=num_calls_finished,json=numCallsFinished,proto3" json:"num_calls_finished,omitempty"`
	// The total number of RPCs that failed to reach a server except dropped RPCs.
	NumCallsFinishedWithClientFailedToSend int64 `` /* 188-byte string literal not displayed */
	// The total number of RPCs that finished and are known to have been received
	// by a server.
	NumCallsFinishedKnownReceived int64 `` /* 155-byte string literal not displayed */
	// The list of dropped calls.
	CallsFinishedWithDrop []*ClientStatsPerToken `` /* 128-byte string literal not displayed */
	XXX_NoUnkeyedLiteral  struct{}               `json:"-"`
	XXX_unrecognized      []byte                 `json:"-"`
	XXX_sizecache         int32                  `json:"-"`
}

Contains client level statistics that are useful to load balancing. Each count except the timestamp should be reset to zero after reporting the stats.

func (*ClientStats) Descriptor

func (*ClientStats) Descriptor() ([]byte, []int)

func (*ClientStats) GetCallsFinishedWithDrop

func (m *ClientStats) GetCallsFinishedWithDrop() []*ClientStatsPerToken

func (*ClientStats) GetNumCallsFinished

func (m *ClientStats) GetNumCallsFinished() int64

func (*ClientStats) GetNumCallsFinishedKnownReceived

func (m *ClientStats) GetNumCallsFinishedKnownReceived() int64

func (*ClientStats) GetNumCallsFinishedWithClientFailedToSend

func (m *ClientStats) GetNumCallsFinishedWithClientFailedToSend() int64

func (*ClientStats) GetNumCallsStarted

func (m *ClientStats) GetNumCallsStarted() int64

func (*ClientStats) GetTimestamp

func (m *ClientStats) GetTimestamp() *timestamp.Timestamp

func (*ClientStats) ProtoMessage

func (*ClientStats) ProtoMessage()

func (*ClientStats) Reset

func (m *ClientStats) Reset()

func (*ClientStats) String

func (m *ClientStats) String() string

func (*ClientStats) XXX_DiscardUnknown

func (m *ClientStats) XXX_DiscardUnknown()

func (*ClientStats) XXX_Marshal

func (m *ClientStats) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*ClientStats) XXX_Merge

func (m *ClientStats) XXX_Merge(src proto.Message)

func (*ClientStats) XXX_Size

func (m *ClientStats) XXX_Size() int

func (*ClientStats) XXX_Unmarshal

func (m *ClientStats) XXX_Unmarshal(b []byte) error

type ClientStatsPerToken

type ClientStatsPerToken struct {
	// See Server.load_balance_token.
	LoadBalanceToken string `protobuf:"bytes,1,opt,name=load_balance_token,json=loadBalanceToken,proto3" json:"load_balance_token,omitempty"`
	// The total number of RPCs that finished associated with the token.
	NumCalls             int64    `protobuf:"varint,2,opt,name=num_calls,json=numCalls,proto3" json:"num_calls,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

Contains the number of calls finished for a particular load balance token.

func (*ClientStatsPerToken) Descriptor

func (*ClientStatsPerToken) Descriptor() ([]byte, []int)

func (*ClientStatsPerToken) GetLoadBalanceToken

func (m *ClientStatsPerToken) GetLoadBalanceToken() string

func (*ClientStatsPerToken) GetNumCalls

func (m *ClientStatsPerToken) GetNumCalls() int64

func (*ClientStatsPerToken) ProtoMessage

func (*ClientStatsPerToken) ProtoMessage()

func (*ClientStatsPerToken) Reset

func (m *ClientStatsPerToken) Reset()

func (*ClientStatsPerToken) String

func (m *ClientStatsPerToken) String() string

func (*ClientStatsPerToken) XXX_DiscardUnknown

func (m *ClientStatsPerToken) XXX_DiscardUnknown()

func (*ClientStatsPerToken) XXX_Marshal

func (m *ClientStatsPerToken) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*ClientStatsPerToken) XXX_Merge

func (m *ClientStatsPerToken) XXX_Merge(src proto.Message)

func (*ClientStatsPerToken) XXX_Size

func (m *ClientStatsPerToken) XXX_Size() int

func (*ClientStatsPerToken) XXX_Unmarshal

func (m *ClientStatsPerToken) XXX_Unmarshal(b []byte) error

type FallbackResponse added in v1.27.0

type FallbackResponse struct {
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (*FallbackResponse) Descriptor added in v1.27.0

func (*FallbackResponse) Descriptor() ([]byte, []int)

func (*FallbackResponse) ProtoMessage added in v1.27.0

func (*FallbackResponse) ProtoMessage()

func (*FallbackResponse) Reset added in v1.27.0

func (m *FallbackResponse) Reset()

func (*FallbackResponse) String added in v1.27.0

func (m *FallbackResponse) String() string

func (*FallbackResponse) XXX_DiscardUnknown added in v1.27.0

func (m *FallbackResponse) XXX_DiscardUnknown()

func (*FallbackResponse) XXX_Marshal added in v1.27.0

func (m *FallbackResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*FallbackResponse) XXX_Merge added in v1.27.0

func (m *FallbackResponse) XXX_Merge(src proto.Message)

func (*FallbackResponse) XXX_Size added in v1.27.0

func (m *FallbackResponse) XXX_Size() int

func (*FallbackResponse) XXX_Unmarshal added in v1.27.0

func (m *FallbackResponse) XXX_Unmarshal(b []byte) error

type InitialLoadBalanceRequest

type InitialLoadBalanceRequest struct {
	// The name of the load balanced service (e.g., service.googleapis.com). Its
	// length should be less than 256 bytes.
	// The name might include a port number. How to handle the port number is up
	// to the balancer.
	Name                 string   `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

func (*InitialLoadBalanceRequest) Descriptor

func (*InitialLoadBalanceRequest) Descriptor() ([]byte, []int)

func (*InitialLoadBalanceRequest) GetName

func (m *InitialLoadBalanceRequest) GetName() string

func (*InitialLoadBalanceRequest) ProtoMessage

func (*InitialLoadBalanceRequest) ProtoMessage()

func (*InitialLoadBalanceRequest) Reset

func (m *InitialLoadBalanceRequest) Reset()

func (*InitialLoadBalanceRequest) String

func (m *InitialLoadBalanceRequest) String() string

func (*InitialLoadBalanceRequest) XXX_DiscardUnknown

func (m *InitialLoadBalanceRequest) XXX_DiscardUnknown()

func (*InitialLoadBalanceRequest) XXX_Marshal

func (m *InitialLoadBalanceRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*InitialLoadBalanceRequest) XXX_Merge

func (m *InitialLoadBalanceRequest) XXX_Merge(src proto.Message)

func (*InitialLoadBalanceRequest) XXX_Size

func (m *InitialLoadBalanceRequest) XXX_Size() int

func (*InitialLoadBalanceRequest) XXX_Unmarshal

func (m *InitialLoadBalanceRequest) XXX_Unmarshal(b []byte) error

type InitialLoadBalanceResponse

type InitialLoadBalanceResponse struct {
	// This interval defines how often the client should send the client stats
	// to the load balancer. Stats should only be reported when the duration is
	// positive.
	ClientStatsReportInterval *duration.Duration `` /* 140-byte string literal not displayed */
	XXX_NoUnkeyedLiteral      struct{}           `json:"-"`
	XXX_unrecognized          []byte             `json:"-"`
	XXX_sizecache             int32              `json:"-"`
}

func (*InitialLoadBalanceResponse) Descriptor

func (*InitialLoadBalanceResponse) Descriptor() ([]byte, []int)

func (*InitialLoadBalanceResponse) GetClientStatsReportInterval

func (m *InitialLoadBalanceResponse) GetClientStatsReportInterval() *duration.Duration

func (*InitialLoadBalanceResponse) ProtoMessage

func (*InitialLoadBalanceResponse) ProtoMessage()

func (*InitialLoadBalanceResponse) Reset

func (m *InitialLoadBalanceResponse) Reset()

func (*InitialLoadBalanceResponse) String

func (m *InitialLoadBalanceResponse) String() string

func (*InitialLoadBalanceResponse) XXX_DiscardUnknown

func (m *InitialLoadBalanceResponse) XXX_DiscardUnknown()

func (*InitialLoadBalanceResponse) XXX_Marshal

func (m *InitialLoadBalanceResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*InitialLoadBalanceResponse) XXX_Merge

func (m *InitialLoadBalanceResponse) XXX_Merge(src proto.Message)

func (*InitialLoadBalanceResponse) XXX_Size

func (m *InitialLoadBalanceResponse) XXX_Size() int

func (*InitialLoadBalanceResponse) XXX_Unmarshal

func (m *InitialLoadBalanceResponse) XXX_Unmarshal(b []byte) error

type LoadBalanceRequest

type LoadBalanceRequest struct {
	// Types that are valid to be assigned to LoadBalanceRequestType:
	//	*LoadBalanceRequest_InitialRequest
	//	*LoadBalanceRequest_ClientStats
	LoadBalanceRequestType isLoadBalanceRequest_LoadBalanceRequestType `protobuf_oneof:"load_balance_request_type"`
	XXX_NoUnkeyedLiteral   struct{}                                    `json:"-"`
	XXX_unrecognized       []byte                                      `json:"-"`
	XXX_sizecache          int32                                       `json:"-"`
}

func (*LoadBalanceRequest) Descriptor

func (*LoadBalanceRequest) Descriptor() ([]byte, []int)

func (*LoadBalanceRequest) GetClientStats

func (m *LoadBalanceRequest) GetClientStats() *ClientStats

func (*LoadBalanceRequest) GetInitialRequest

func (m *LoadBalanceRequest) GetInitialRequest() *InitialLoadBalanceRequest

func (*LoadBalanceRequest) GetLoadBalanceRequestType

func (m *LoadBalanceRequest) GetLoadBalanceRequestType() isLoadBalanceRequest_LoadBalanceRequestType

func (*LoadBalanceRequest) ProtoMessage

func (*LoadBalanceRequest) ProtoMessage()

func (*LoadBalanceRequest) Reset

func (m *LoadBalanceRequest) Reset()

func (*LoadBalanceRequest) String

func (m *LoadBalanceRequest) String() string

func (*LoadBalanceRequest) XXX_DiscardUnknown

func (m *LoadBalanceRequest) XXX_DiscardUnknown()

func (*LoadBalanceRequest) XXX_Marshal

func (m *LoadBalanceRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*LoadBalanceRequest) XXX_Merge

func (m *LoadBalanceRequest) XXX_Merge(src proto.Message)

func (*LoadBalanceRequest) XXX_OneofWrappers added in v1.24.0

func (*LoadBalanceRequest) XXX_OneofWrappers() []interface{}

XXX_OneofWrappers is for the internal use of the proto package.

func (*LoadBalanceRequest) XXX_Size

func (m *LoadBalanceRequest) XXX_Size() int

func (*LoadBalanceRequest) XXX_Unmarshal

func (m *LoadBalanceRequest) XXX_Unmarshal(b []byte) error

type LoadBalanceRequest_ClientStats

type LoadBalanceRequest_ClientStats struct {
	ClientStats *ClientStats `protobuf:"bytes,2,opt,name=client_stats,json=clientStats,proto3,oneof"`
}

type LoadBalanceRequest_InitialRequest

type LoadBalanceRequest_InitialRequest struct {
	InitialRequest *InitialLoadBalanceRequest `protobuf:"bytes,1,opt,name=initial_request,json=initialRequest,proto3,oneof"`
}

type LoadBalanceResponse

type LoadBalanceResponse struct {
	// Types that are valid to be assigned to LoadBalanceResponseType:
	//	*LoadBalanceResponse_InitialResponse
	//	*LoadBalanceResponse_ServerList
	//	*LoadBalanceResponse_FallbackResponse
	LoadBalanceResponseType isLoadBalanceResponse_LoadBalanceResponseType `protobuf_oneof:"load_balance_response_type"`
	XXX_NoUnkeyedLiteral    struct{}                                      `json:"-"`
	XXX_unrecognized        []byte                                        `json:"-"`
	XXX_sizecache           int32                                         `json:"-"`
}

func (*LoadBalanceResponse) Descriptor

func (*LoadBalanceResponse) Descriptor() ([]byte, []int)

func (*LoadBalanceResponse) GetFallbackResponse added in v1.27.0

func (m *LoadBalanceResponse) GetFallbackResponse() *FallbackResponse

func (*LoadBalanceResponse) GetInitialResponse

func (m *LoadBalanceResponse) GetInitialResponse() *InitialLoadBalanceResponse

func (*LoadBalanceResponse) GetLoadBalanceResponseType

func (m *LoadBalanceResponse) GetLoadBalanceResponseType() isLoadBalanceResponse_LoadBalanceResponseType

func (*LoadBalanceResponse) GetServerList

func (m *LoadBalanceResponse) GetServerList() *ServerList

func (*LoadBalanceResponse) ProtoMessage

func (*LoadBalanceResponse) ProtoMessage()

func (*LoadBalanceResponse) Reset

func (m *LoadBalanceResponse) Reset()

func (*LoadBalanceResponse) String

func (m *LoadBalanceResponse) String() string

func (*LoadBalanceResponse) XXX_DiscardUnknown

func (m *LoadBalanceResponse) XXX_DiscardUnknown()

func (*LoadBalanceResponse) XXX_Marshal

func (m *LoadBalanceResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*LoadBalanceResponse) XXX_Merge

func (m *LoadBalanceResponse) XXX_Merge(src proto.Message)

func (*LoadBalanceResponse) XXX_OneofWrappers added in v1.24.0

func (*LoadBalanceResponse) XXX_OneofWrappers() []interface{}

XXX_OneofWrappers is for the internal use of the proto package.

func (*LoadBalanceResponse) XXX_Size

func (m *LoadBalanceResponse) XXX_Size() int

func (*LoadBalanceResponse) XXX_Unmarshal

func (m *LoadBalanceResponse) XXX_Unmarshal(b []byte) error

type LoadBalanceResponse_FallbackResponse added in v1.27.0

type LoadBalanceResponse_FallbackResponse struct {
	FallbackResponse *FallbackResponse `protobuf:"bytes,3,opt,name=fallback_response,json=fallbackResponse,proto3,oneof"`
}

type LoadBalanceResponse_InitialResponse

type LoadBalanceResponse_InitialResponse struct {
	InitialResponse *InitialLoadBalanceResponse `protobuf:"bytes,1,opt,name=initial_response,json=initialResponse,proto3,oneof"`
}

type LoadBalanceResponse_ServerList

type LoadBalanceResponse_ServerList struct {
	ServerList *ServerList `protobuf:"bytes,2,opt,name=server_list,json=serverList,proto3,oneof"`
}

type LoadBalancerClient

type LoadBalancerClient interface {
	// Bidirectional rpc to get a list of servers.
	BalanceLoad(ctx context.Context, opts ...grpc.CallOption) (LoadBalancer_BalanceLoadClient, error)
}

LoadBalancerClient is the client API for LoadBalancer service.

For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.

type LoadBalancerServer

type LoadBalancerServer interface {
	// Bidirectional rpc to get a list of servers.
	BalanceLoad(LoadBalancer_BalanceLoadServer) error
}

LoadBalancerServer is the server API for LoadBalancer service. All implementations should embed UnimplementedLoadBalancerServer for forward compatibility

type LoadBalancer_BalanceLoadClient

type LoadBalancer_BalanceLoadClient interface {
	Send(*LoadBalanceRequest) error
	Recv() (*LoadBalanceResponse, error)
	grpc.ClientStream
}

type LoadBalancer_BalanceLoadServer

type LoadBalancer_BalanceLoadServer interface {
	Send(*LoadBalanceResponse) error
	Recv() (*LoadBalanceRequest, error)
	grpc.ServerStream
}

type Server

type Server struct {
	// A resolved address for the server, serialized in network-byte-order. It may
	// either be an IPv4 or IPv6 address.
	IpAddress []byte `protobuf:"bytes,1,opt,name=ip_address,json=ipAddress,proto3" json:"ip_address,omitempty"`
	// A resolved port number for the server.
	Port int32 `protobuf:"varint,2,opt,name=port,proto3" json:"port,omitempty"`
	// An opaque but printable token for load reporting. The client must include
	// the token of the picked server into the initial metadata when it starts a
	// call to that server. The token is used by the server to verify the request
	// and to allow the server to report load to the gRPC LB system. The token is
	// also used in client stats for reporting dropped calls.
	//
	// Its length can be variable but must be less than 50 bytes.
	LoadBalanceToken string `protobuf:"bytes,3,opt,name=load_balance_token,json=loadBalanceToken,proto3" json:"load_balance_token,omitempty"`
	// Indicates whether this particular request should be dropped by the client.
	// If the request is dropped, there will be a corresponding entry in
	// ClientStats.calls_finished_with_drop.
	Drop                 bool     `protobuf:"varint,4,opt,name=drop,proto3" json:"drop,omitempty"`
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

Contains server information. When the drop field is not true, use the other fields.

func (*Server) Descriptor

func (*Server) Descriptor() ([]byte, []int)

func (*Server) GetDrop

func (m *Server) GetDrop() bool

func (*Server) GetIpAddress

func (m *Server) GetIpAddress() []byte

func (*Server) GetLoadBalanceToken

func (m *Server) GetLoadBalanceToken() string

func (*Server) GetPort

func (m *Server) GetPort() int32

func (*Server) ProtoMessage

func (*Server) ProtoMessage()

func (*Server) Reset

func (m *Server) Reset()

func (*Server) String

func (m *Server) String() string

func (*Server) XXX_DiscardUnknown

func (m *Server) XXX_DiscardUnknown()

func (*Server) XXX_Marshal

func (m *Server) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Server) XXX_Merge

func (m *Server) XXX_Merge(src proto.Message)

func (*Server) XXX_Size

func (m *Server) XXX_Size() int

func (*Server) XXX_Unmarshal

func (m *Server) XXX_Unmarshal(b []byte) error

type ServerList

type ServerList struct {
	// Contains a list of servers selected by the load balancer. The list will
	// be updated when server resolutions change or as needed to balance load
	// across more servers. The client should consume the server list in order
	// unless instructed otherwise via the client_config.
	Servers              []*Server `protobuf:"bytes,1,rep,name=servers,proto3" json:"servers,omitempty"`
	XXX_NoUnkeyedLiteral struct{}  `json:"-"`
	XXX_unrecognized     []byte    `json:"-"`
	XXX_sizecache        int32     `json:"-"`
}

func (*ServerList) Descriptor

func (*ServerList) Descriptor() ([]byte, []int)

func (*ServerList) GetServers

func (m *ServerList) GetServers() []*Server

func (*ServerList) ProtoMessage

func (*ServerList) ProtoMessage()

func (*ServerList) Reset

func (m *ServerList) Reset()

func (*ServerList) String

func (m *ServerList) String() string

func (*ServerList) XXX_DiscardUnknown

func (m *ServerList) XXX_DiscardUnknown()

func (*ServerList) XXX_Marshal

func (m *ServerList) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*ServerList) XXX_Merge

func (m *ServerList) XXX_Merge(src proto.Message)

func (*ServerList) XXX_Size

func (m *ServerList) XXX_Size() int

func (*ServerList) XXX_Unmarshal

func (m *ServerList) XXX_Unmarshal(b []byte) error

type UnimplementedLoadBalancerServer added in v1.24.0

type UnimplementedLoadBalancerServer struct {
}

UnimplementedLoadBalancerServer should be embedded to have forward compatible implementations.

func (UnimplementedLoadBalancerServer) BalanceLoad added in v1.24.0

type UnsafeLoadBalancerServer added in v1.33.0

type UnsafeLoadBalancerServer interface {
	// contains filtered or unexported methods
}

UnsafeLoadBalancerServer may be embedded to opt out of forward compatibility for this service. Use of this interface is not recommended, as added methods to LoadBalancerServer will result in compilation errors.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL