grpc: google.golang.org/grpc/balancer/grpclb/grpc_lb_v1 Index | Files

package grpc_lb_v1

import "google.golang.org/grpc/balancer/grpclb/grpc_lb_v1"

Index

Package Files

load_balancer.pb.go load_balancer_grpc.pb.go

Variables

var File_grpc_lb_v1_load_balancer_proto protoreflect.FileDescriptor

func RegisterLoadBalancerServer Uses

func RegisterLoadBalancerServer(s grpc.ServiceRegistrar, srv LoadBalancerServer)

type ClientStats Uses

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 `protobuf:"varint,6,opt,name=num_calls_finished_with_client_failed_to_send,json=numCallsFinishedWithClientFailedToSend,proto3" json:"num_calls_finished_with_client_failed_to_send,omitempty"`
    // The total number of RPCs that finished and are known to have been received
    // by a server.
    NumCallsFinishedKnownReceived int64 `protobuf:"varint,7,opt,name=num_calls_finished_known_received,json=numCallsFinishedKnownReceived,proto3" json:"num_calls_finished_known_received,omitempty"`
    // The list of dropped calls.
    CallsFinishedWithDrop []*ClientStatsPerToken `protobuf:"bytes,8,rep,name=calls_finished_with_drop,json=callsFinishedWithDrop,proto3" json:"calls_finished_with_drop,omitempty"`
    // contains filtered or unexported fields
}

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 Uses

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

Deprecated: Use ClientStats.ProtoReflect.Descriptor instead.

func (*ClientStats) GetCallsFinishedWithDrop Uses

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

func (*ClientStats) GetNumCallsFinished Uses

func (x *ClientStats) GetNumCallsFinished() int64

func (*ClientStats) GetNumCallsFinishedKnownReceived Uses

func (x *ClientStats) GetNumCallsFinishedKnownReceived() int64

func (*ClientStats) GetNumCallsFinishedWithClientFailedToSend Uses

func (x *ClientStats) GetNumCallsFinishedWithClientFailedToSend() int64

func (*ClientStats) GetNumCallsStarted Uses

func (x *ClientStats) GetNumCallsStarted() int64

func (*ClientStats) GetTimestamp Uses

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

func (*ClientStats) ProtoMessage Uses

func (*ClientStats) ProtoMessage()

func (*ClientStats) ProtoReflect Uses

func (x *ClientStats) ProtoReflect() protoreflect.Message

func (*ClientStats) Reset Uses

func (x *ClientStats) Reset()

func (*ClientStats) String Uses

func (x *ClientStats) String() string

type ClientStatsPerToken Uses

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"`
    // contains filtered or unexported fields
}

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

func (*ClientStatsPerToken) Descriptor Uses

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

Deprecated: Use ClientStatsPerToken.ProtoReflect.Descriptor instead.

func (*ClientStatsPerToken) GetLoadBalanceToken Uses

func (x *ClientStatsPerToken) GetLoadBalanceToken() string

func (*ClientStatsPerToken) GetNumCalls Uses

func (x *ClientStatsPerToken) GetNumCalls() int64

func (*ClientStatsPerToken) ProtoMessage Uses

func (*ClientStatsPerToken) ProtoMessage()

func (*ClientStatsPerToken) ProtoReflect Uses

func (x *ClientStatsPerToken) ProtoReflect() protoreflect.Message

func (*ClientStatsPerToken) Reset Uses

func (x *ClientStatsPerToken) Reset()

func (*ClientStatsPerToken) String Uses

func (x *ClientStatsPerToken) String() string

type FallbackResponse Uses

type FallbackResponse struct {
    // contains filtered or unexported fields
}

func (*FallbackResponse) Descriptor Uses

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

Deprecated: Use FallbackResponse.ProtoReflect.Descriptor instead.

func (*FallbackResponse) ProtoMessage Uses

func (*FallbackResponse) ProtoMessage()

func (*FallbackResponse) ProtoReflect Uses

func (x *FallbackResponse) ProtoReflect() protoreflect.Message

func (*FallbackResponse) Reset Uses

func (x *FallbackResponse) Reset()

func (*FallbackResponse) String Uses

func (x *FallbackResponse) String() string

type InitialLoadBalanceRequest Uses

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"`
    // contains filtered or unexported fields
}

func (*InitialLoadBalanceRequest) Descriptor Uses

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

Deprecated: Use InitialLoadBalanceRequest.ProtoReflect.Descriptor instead.

func (*InitialLoadBalanceRequest) GetName Uses

func (x *InitialLoadBalanceRequest) GetName() string

func (*InitialLoadBalanceRequest) ProtoMessage Uses

func (*InitialLoadBalanceRequest) ProtoMessage()

func (*InitialLoadBalanceRequest) ProtoReflect Uses

func (x *InitialLoadBalanceRequest) ProtoReflect() protoreflect.Message

func (*InitialLoadBalanceRequest) Reset Uses

func (x *InitialLoadBalanceRequest) Reset()

func (*InitialLoadBalanceRequest) String Uses

func (x *InitialLoadBalanceRequest) String() string

type InitialLoadBalanceResponse Uses

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 `protobuf:"bytes,2,opt,name=client_stats_report_interval,json=clientStatsReportInterval,proto3" json:"client_stats_report_interval,omitempty"`
    // contains filtered or unexported fields
}

func (*InitialLoadBalanceResponse) Descriptor Uses

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

Deprecated: Use InitialLoadBalanceResponse.ProtoReflect.Descriptor instead.

func (*InitialLoadBalanceResponse) GetClientStatsReportInterval Uses

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

func (*InitialLoadBalanceResponse) ProtoMessage Uses

func (*InitialLoadBalanceResponse) ProtoMessage()

func (*InitialLoadBalanceResponse) ProtoReflect Uses

func (x *InitialLoadBalanceResponse) ProtoReflect() protoreflect.Message

func (*InitialLoadBalanceResponse) Reset Uses

func (x *InitialLoadBalanceResponse) Reset()

func (*InitialLoadBalanceResponse) String Uses

func (x *InitialLoadBalanceResponse) String() string

type LoadBalanceRequest Uses

type LoadBalanceRequest struct {

    // Types that are assignable to LoadBalanceRequestType:
    //	*LoadBalanceRequest_InitialRequest
    //	*LoadBalanceRequest_ClientStats
    LoadBalanceRequestType isLoadBalanceRequest_LoadBalanceRequestType `protobuf_oneof:"load_balance_request_type"`
    // contains filtered or unexported fields
}

func (*LoadBalanceRequest) Descriptor Uses

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

Deprecated: Use LoadBalanceRequest.ProtoReflect.Descriptor instead.

func (*LoadBalanceRequest) GetClientStats Uses

func (x *LoadBalanceRequest) GetClientStats() *ClientStats

func (*LoadBalanceRequest) GetInitialRequest Uses

func (x *LoadBalanceRequest) GetInitialRequest() *InitialLoadBalanceRequest

func (*LoadBalanceRequest) GetLoadBalanceRequestType Uses

func (m *LoadBalanceRequest) GetLoadBalanceRequestType() isLoadBalanceRequest_LoadBalanceRequestType

func (*LoadBalanceRequest) ProtoMessage Uses

func (*LoadBalanceRequest) ProtoMessage()

func (*LoadBalanceRequest) ProtoReflect Uses

func (x *LoadBalanceRequest) ProtoReflect() protoreflect.Message

func (*LoadBalanceRequest) Reset Uses

func (x *LoadBalanceRequest) Reset()

func (*LoadBalanceRequest) String Uses

func (x *LoadBalanceRequest) String() string

type LoadBalanceRequest_ClientStats Uses

type LoadBalanceRequest_ClientStats struct {
    // The client stats should be periodically reported to the load balancer
    // based on the duration defined in the InitialLoadBalanceResponse.
    ClientStats *ClientStats `protobuf:"bytes,2,opt,name=client_stats,json=clientStats,proto3,oneof"`
}

type LoadBalanceRequest_InitialRequest Uses

type LoadBalanceRequest_InitialRequest struct {
    // This message should be sent on the first request to the load balancer.
    InitialRequest *InitialLoadBalanceRequest `protobuf:"bytes,1,opt,name=initial_request,json=initialRequest,proto3,oneof"`
}

type LoadBalanceResponse Uses

type LoadBalanceResponse struct {

    // Types that are assignable to LoadBalanceResponseType:
    //	*LoadBalanceResponse_InitialResponse
    //	*LoadBalanceResponse_ServerList
    //	*LoadBalanceResponse_FallbackResponse
    LoadBalanceResponseType isLoadBalanceResponse_LoadBalanceResponseType `protobuf_oneof:"load_balance_response_type"`
    // contains filtered or unexported fields
}

func (*LoadBalanceResponse) Descriptor Uses

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

Deprecated: Use LoadBalanceResponse.ProtoReflect.Descriptor instead.

func (*LoadBalanceResponse) GetFallbackResponse Uses

func (x *LoadBalanceResponse) GetFallbackResponse() *FallbackResponse

func (*LoadBalanceResponse) GetInitialResponse Uses

func (x *LoadBalanceResponse) GetInitialResponse() *InitialLoadBalanceResponse

func (*LoadBalanceResponse) GetLoadBalanceResponseType Uses

func (m *LoadBalanceResponse) GetLoadBalanceResponseType() isLoadBalanceResponse_LoadBalanceResponseType

func (*LoadBalanceResponse) GetServerList Uses

func (x *LoadBalanceResponse) GetServerList() *ServerList

func (*LoadBalanceResponse) ProtoMessage Uses

func (*LoadBalanceResponse) ProtoMessage()

func (*LoadBalanceResponse) ProtoReflect Uses

func (x *LoadBalanceResponse) ProtoReflect() protoreflect.Message

func (*LoadBalanceResponse) Reset Uses

func (x *LoadBalanceResponse) Reset()

func (*LoadBalanceResponse) String Uses

func (x *LoadBalanceResponse) String() string

type LoadBalanceResponse_FallbackResponse Uses

type LoadBalanceResponse_FallbackResponse struct {
    // If this field is set, then the client should eagerly enter fallback
    // mode (even if there are existing, healthy connections to backends).
    FallbackResponse *FallbackResponse `protobuf:"bytes,3,opt,name=fallback_response,json=fallbackResponse,proto3,oneof"`
}

type LoadBalanceResponse_InitialResponse Uses

type LoadBalanceResponse_InitialResponse struct {
    // This message should be sent on the first response to the client.
    InitialResponse *InitialLoadBalanceResponse `protobuf:"bytes,1,opt,name=initial_response,json=initialResponse,proto3,oneof"`
}

type LoadBalanceResponse_ServerList Uses

type LoadBalanceResponse_ServerList struct {
    // Contains the list of servers selected by the load balancer. The client
    // should send requests to these servers in the specified order.
    ServerList *ServerList `protobuf:"bytes,2,opt,name=server_list,json=serverList,proto3,oneof"`
}

type LoadBalancerClient Uses

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.

func NewLoadBalancerClient Uses

func NewLoadBalancerClient(cc grpc.ClientConnInterface) LoadBalancerClient

type LoadBalancerServer Uses

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 Uses

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

type LoadBalancer_BalanceLoadServer Uses

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

type Server Uses

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"`
    // contains filtered or unexported fields
}

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

func (*Server) Descriptor Uses

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

Deprecated: Use Server.ProtoReflect.Descriptor instead.

func (*Server) GetDrop Uses

func (x *Server) GetDrop() bool

func (*Server) GetIpAddress Uses

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

func (*Server) GetLoadBalanceToken Uses

func (x *Server) GetLoadBalanceToken() string

func (*Server) GetPort Uses

func (x *Server) GetPort() int32

func (*Server) ProtoMessage Uses

func (*Server) ProtoMessage()

func (*Server) ProtoReflect Uses

func (x *Server) ProtoReflect() protoreflect.Message

func (*Server) Reset Uses

func (x *Server) Reset()

func (*Server) String Uses

func (x *Server) String() string

type ServerList Uses

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"`
    // contains filtered or unexported fields
}

func (*ServerList) Descriptor Uses

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

Deprecated: Use ServerList.ProtoReflect.Descriptor instead.

func (*ServerList) GetServers Uses

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

func (*ServerList) ProtoMessage Uses

func (*ServerList) ProtoMessage()

func (*ServerList) ProtoReflect Uses

func (x *ServerList) ProtoReflect() protoreflect.Message

func (*ServerList) Reset Uses

func (x *ServerList) Reset()

func (*ServerList) String Uses

func (x *ServerList) String() string

type UnimplementedLoadBalancerServer Uses

type UnimplementedLoadBalancerServer struct {
}

UnimplementedLoadBalancerServer should be embedded to have forward compatible implementations.

func (UnimplementedLoadBalancerServer) BalanceLoad Uses

func (UnimplementedLoadBalancerServer) BalanceLoad(LoadBalancer_BalanceLoadServer) error

type UnsafeLoadBalancerServer Uses

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.

Package grpc_lb_v1 imports 11 packages (graph) and is imported by 6 packages. Updated 2020-10-22. Refresh now. Tools for package owners.