Documentation
¶
Index ¶
- Constants
- Variables
- func BuildStovepipeYARPCProcedures(server StovepipeYARPCServer) []transport.Procedure
- func NewFxStovepipeYARPCClient(name string, options ...v2.ClientOption) interface{}
- func NewFxStovepipeYARPCProcedures() interface{}
- func RegisterStovepipeServer(s grpc.ServiceRegistrar, srv StovepipeServer)
- type FxStovepipeYARPCClientParams
- type FxStovepipeYARPCClientResult
- type FxStovepipeYARPCProceduresParams
- type FxStovepipeYARPCProceduresResult
- type IngestRequest
- type IngestResponse
- type PingRequest
- type PingResponse
- func (*PingResponse) Descriptor() ([]byte, []int)deprecated
- func (x *PingResponse) GetHostname() string
- func (x *PingResponse) GetMessage() string
- func (x *PingResponse) GetServiceName() string
- func (x *PingResponse) GetTimestamp() int64
- func (*PingResponse) ProtoMessage()
- func (x *PingResponse) ProtoReflect() protoreflect.Message
- func (x *PingResponse) Reset()
- func (x *PingResponse) String() string
- type StovepipeClient
- type StovepipeServer
- type StovepipeYARPCClient
- type StovepipeYARPCServer
- type UnimplementedStovepipeServer
- type UnsafeStovepipeServer
Constants ¶
const ( Stovepipe_Ping_FullMethodName = "/uber.submitqueue.stovepipe.Stovepipe/Ping" Stovepipe_Ingest_FullMethodName = "/uber.submitqueue.stovepipe.Stovepipe/Ingest" )
Variables ¶
var File_stovepipe_proto protoreflect.FileDescriptor
var Stovepipe_ServiceDesc = grpc.ServiceDesc{ ServiceName: "uber.submitqueue.stovepipe.Stovepipe", HandlerType: (*StovepipeServer)(nil), Methods: []grpc.MethodDesc{ { MethodName: "Ping", Handler: _Stovepipe_Ping_Handler, }, { MethodName: "Ingest", Handler: _Stovepipe_Ingest_Handler, }, }, Streams: []grpc.StreamDesc{}, Metadata: "stovepipe.proto", }
Stovepipe_ServiceDesc is the grpc.ServiceDesc for Stovepipe service. It's only intended for direct use with grpc.RegisterService, and not to be introspected or modified (even as a copy)
Functions ¶
func BuildStovepipeYARPCProcedures ¶
func BuildStovepipeYARPCProcedures(server StovepipeYARPCServer) []transport.Procedure
BuildStovepipeYARPCProcedures prepares an implementation of the Stovepipe service for YARPC registration.
func NewFxStovepipeYARPCClient ¶
func NewFxStovepipeYARPCClient(name string, options ...v2.ClientOption) interface{}
NewFxStovepipeYARPCClient provides a StovepipeYARPCClient to an Fx application using the given name for routing.
fx.Provide(
protopb.NewFxStovepipeYARPCClient("service-name"),
...
)
func NewFxStovepipeYARPCProcedures ¶
func NewFxStovepipeYARPCProcedures() interface{}
NewFxStovepipeYARPCProcedures provides StovepipeYARPCServer procedures to an Fx application. It expects a StovepipeYARPCServer to be present in the container.
fx.Provide( protopb.NewFxStovepipeYARPCProcedures(), ... )
func RegisterStovepipeServer ¶
func RegisterStovepipeServer(s grpc.ServiceRegistrar, srv StovepipeServer)
Types ¶
type FxStovepipeYARPCClientParams ¶
type FxStovepipeYARPCClientParams struct {
fx.In
Provider yarpc.ClientConfig
AnyResolver v2.AnyResolver `name:"yarpcfx" optional:"true"`
Restriction restriction.Checker `optional:"true"`
}
FxStovepipeYARPCClientParams defines the input for NewFxStovepipeYARPCClient. It provides the paramaters to get a StovepipeYARPCClient in an Fx application.
type FxStovepipeYARPCClientResult ¶
type FxStovepipeYARPCClientResult struct {
fx.Out
Client StovepipeYARPCClient
}
FxStovepipeYARPCClientResult defines the output of NewFxStovepipeYARPCClient. It provides a StovepipeYARPCClient to an Fx application.
type FxStovepipeYARPCProceduresParams ¶
type FxStovepipeYARPCProceduresParams struct {
fx.In
Server StovepipeYARPCServer
AnyResolver v2.AnyResolver `name:"yarpcfx" optional:"true"`
}
FxStovepipeYARPCProceduresParams defines the input for NewFxStovepipeYARPCProcedures. It provides the paramaters to get StovepipeYARPCServer procedures in an Fx application.
type FxStovepipeYARPCProceduresResult ¶
type FxStovepipeYARPCProceduresResult struct {
fx.Out
Procedures []transport.Procedure `group:"yarpcfx"`
ReflectionMeta reflection.ServerMeta `group:"yarpcfx"`
}
FxStovepipeYARPCProceduresResult defines the output of NewFxStovepipeYARPCProcedures. It provides StovepipeYARPCServer procedures to an Fx application.
The procedures are provided to the "yarpcfx" value group. Dig 1.2 or newer must be used for this feature to work.
type IngestRequest ¶
type IngestRequest struct {
// Logical queue name to validate (e.g. "monorepo/main"). It namespaces the minted
// request ID and is the stable handle for the repo+ref being validated.
Queue string `protobuf:"bytes,1,opt,name=queue,proto3" json:"queue,omitempty"`
// contains filtered or unexported fields
}
IngestRequest is the request for the Ingest method. The poller reports that a queue (a named repo+ref) has a new commit to validate.
func (*IngestRequest) Descriptor
deprecated
func (*IngestRequest) Descriptor() ([]byte, []int)
Deprecated: Use IngestRequest.ProtoReflect.Descriptor instead.
func (*IngestRequest) GetQueue ¶
func (x *IngestRequest) GetQueue() string
func (*IngestRequest) ProtoMessage ¶
func (*IngestRequest) ProtoMessage()
func (*IngestRequest) ProtoReflect ¶
func (x *IngestRequest) ProtoReflect() protoreflect.Message
func (*IngestRequest) Reset ¶
func (x *IngestRequest) Reset()
func (*IngestRequest) String ¶
func (x *IngestRequest) String() string
type IngestResponse ¶
type IngestResponse struct {
// The minted request ID, namespaced by queue. Format: "request/<queue>/<counter>"
// (e.g. "request/monorepo/main/42").
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
// contains filtered or unexported fields
}
IngestResponse is the response for the Ingest method.
func (*IngestResponse) Descriptor
deprecated
func (*IngestResponse) Descriptor() ([]byte, []int)
Deprecated: Use IngestResponse.ProtoReflect.Descriptor instead.
func (*IngestResponse) GetId ¶
func (x *IngestResponse) GetId() string
func (*IngestResponse) ProtoMessage ¶
func (*IngestResponse) ProtoMessage()
func (*IngestResponse) ProtoReflect ¶
func (x *IngestResponse) ProtoReflect() protoreflect.Message
func (*IngestResponse) Reset ¶
func (x *IngestResponse) Reset()
func (*IngestResponse) String ¶
func (x *IngestResponse) String() string
type PingRequest ¶
type PingRequest struct {
// Optional message to include in the ping
Message string `protobuf:"bytes,1,opt,name=message,proto3" json:"message,omitempty"`
// contains filtered or unexported fields
}
PingRequest is the request for the Ping method
func (*PingRequest) Descriptor
deprecated
func (*PingRequest) Descriptor() ([]byte, []int)
Deprecated: Use PingRequest.ProtoReflect.Descriptor instead.
func (*PingRequest) GetMessage ¶
func (x *PingRequest) GetMessage() string
func (*PingRequest) ProtoMessage ¶
func (*PingRequest) ProtoMessage()
func (*PingRequest) ProtoReflect ¶
func (x *PingRequest) ProtoReflect() protoreflect.Message
func (*PingRequest) Reset ¶
func (x *PingRequest) Reset()
func (*PingRequest) String ¶
func (x *PingRequest) String() string
type PingResponse ¶
type PingResponse struct {
// The response message
Message string `protobuf:"bytes,1,opt,name=message,proto3" json:"message,omitempty"`
// The service name that handled the request
ServiceName string `protobuf:"bytes,2,opt,name=service_name,json=serviceName,proto3" json:"service_name,omitempty"`
// Timestamp of when the ping was received
Timestamp int64 `protobuf:"varint,3,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
// Hostname of the server that handled the request
Hostname string `protobuf:"bytes,4,opt,name=hostname,proto3" json:"hostname,omitempty"`
// contains filtered or unexported fields
}
PingResponse is the response for the Ping method
func (*PingResponse) Descriptor
deprecated
func (*PingResponse) Descriptor() ([]byte, []int)
Deprecated: Use PingResponse.ProtoReflect.Descriptor instead.
func (*PingResponse) GetHostname ¶
func (x *PingResponse) GetHostname() string
func (*PingResponse) GetMessage ¶
func (x *PingResponse) GetMessage() string
func (*PingResponse) GetServiceName ¶
func (x *PingResponse) GetServiceName() string
func (*PingResponse) GetTimestamp ¶
func (x *PingResponse) GetTimestamp() int64
func (*PingResponse) ProtoMessage ¶
func (*PingResponse) ProtoMessage()
func (*PingResponse) ProtoReflect ¶
func (x *PingResponse) ProtoReflect() protoreflect.Message
func (*PingResponse) Reset ¶
func (x *PingResponse) Reset()
func (*PingResponse) String ¶
func (x *PingResponse) String() string
type StovepipeClient ¶
type StovepipeClient interface {
// Ping returns a response indicating the service is alive
Ping(ctx context.Context, in *PingRequest, opts ...grpc.CallOption) (*PingResponse, error)
// Ingest admits a queue's newly observed commit into the validation pipeline and returns
// the minted request ID. The caller hands off asynchronously; validation happens later.
Ingest(ctx context.Context, in *IngestRequest, opts ...grpc.CallOption) (*IngestResponse, error)
}
StovepipeClient is the client API for Stovepipe 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.
Stovepipe provides the Stovepipe API.
func NewStovepipeClient ¶
func NewStovepipeClient(cc grpc.ClientConnInterface) StovepipeClient
type StovepipeServer ¶
type StovepipeServer interface {
// Ping returns a response indicating the service is alive
Ping(context.Context, *PingRequest) (*PingResponse, error)
// Ingest admits a queue's newly observed commit into the validation pipeline and returns
// the minted request ID. The caller hands off asynchronously; validation happens later.
Ingest(context.Context, *IngestRequest) (*IngestResponse, error)
// contains filtered or unexported methods
}
StovepipeServer is the server API for Stovepipe service. All implementations must embed UnimplementedStovepipeServer for forward compatibility.
Stovepipe provides the Stovepipe API.
type StovepipeYARPCClient ¶
type StovepipeYARPCClient interface {
Ping(context.Context, *PingRequest, ...yarpc.CallOption) (*PingResponse, error)
Ingest(context.Context, *IngestRequest, ...yarpc.CallOption) (*IngestResponse, error)
}
StovepipeYARPCClient is the YARPC client-side interface for the Stovepipe service.
func NewStovepipeYARPCClient ¶
func NewStovepipeYARPCClient(clientConfig transport.ClientConfig, options ...v2.ClientOption) StovepipeYARPCClient
NewStovepipeYARPCClient builds a new YARPC client for the Stovepipe service.
type StovepipeYARPCServer ¶
type StovepipeYARPCServer interface {
Ping(context.Context, *PingRequest) (*PingResponse, error)
Ingest(context.Context, *IngestRequest) (*IngestResponse, error)
}
StovepipeYARPCServer is the YARPC server-side interface for the Stovepipe service.
type UnimplementedStovepipeServer ¶
type UnimplementedStovepipeServer struct{}
UnimplementedStovepipeServer must be embedded to have forward compatible implementations.
NOTE: this should be embedded by value instead of pointer to avoid a nil pointer dereference when methods are called.
func (UnimplementedStovepipeServer) Ingest ¶
func (UnimplementedStovepipeServer) Ingest(context.Context, *IngestRequest) (*IngestResponse, error)
func (UnimplementedStovepipeServer) Ping ¶
func (UnimplementedStovepipeServer) Ping(context.Context, *PingRequest) (*PingResponse, error)
type UnsafeStovepipeServer ¶
type UnsafeStovepipeServer interface {
// contains filtered or unexported methods
}
UnsafeStovepipeServer may be embedded to opt out of forward compatibility for this service. Use of this interface is not recommended, as added methods to StovepipeServer will result in compilation errors.