Documentation ¶
Index ¶
Constants ¶
const ( // LeaseServicePingProcedure is the fully-qualified name of the LeaseService's Ping RPC. LeaseServicePingProcedure = "/xyz.block.ftl.lease.v1.LeaseService/Ping" // LeaseServiceAcquireLeaseProcedure is the fully-qualified name of the LeaseService's AcquireLease // RPC. LeaseServiceAcquireLeaseProcedure = "/xyz.block.ftl.lease.v1.LeaseService/AcquireLease" )
These constants are the fully-qualified names of the RPCs defined in this package. They're exposed at runtime as Spec.Procedure and as the final two segments of the HTTP route.
Note that these are different from the fully-qualified method names used by google.golang.org/protobuf/reflect/protoreflect. To convert from these constants to reflection-formatted method names, remove the leading slash and convert the remaining slash to a period.
const (
// LeaseServiceName is the fully-qualified name of the LeaseService service.
LeaseServiceName = "xyz.block.ftl.lease.v1.LeaseService"
)
Variables ¶
This section is empty.
Functions ¶
func NewLeaseServiceHandler ¶
func NewLeaseServiceHandler(svc LeaseServiceHandler, opts ...connect.HandlerOption) (string, http.Handler)
NewLeaseServiceHandler builds an HTTP handler from the service implementation. It returns the path on which to mount the handler and the handler itself.
By default, handlers support the Connect, gRPC, and gRPC-Web protocols with the binary Protobuf and JSON codecs. They also support gzip compression.
Types ¶
type LeaseServiceClient ¶
type LeaseServiceClient interface { // Ping service for readiness. Ping(context.Context, *connect.Request[v1.PingRequest]) (*connect.Response[v1.PingResponse], error) // Acquire (and renew) a lease for a deployment. // // Returns ResourceExhausted if the lease is held. AcquireLease(context.Context) *connect.BidiStreamForClient[v11.AcquireLeaseRequest, v11.AcquireLeaseResponse] }
LeaseServiceClient is a client for the xyz.block.ftl.lease.v1.LeaseService service.
func NewLeaseServiceClient ¶
func NewLeaseServiceClient(httpClient connect.HTTPClient, baseURL string, opts ...connect.ClientOption) LeaseServiceClient
NewLeaseServiceClient constructs a client for the xyz.block.ftl.lease.v1.LeaseService service. By default, it uses the Connect protocol with the binary Protobuf Codec, asks for gzipped responses, and sends uncompressed requests. To use the gRPC or gRPC-Web protocols, supply the connect.WithGRPC() or connect.WithGRPCWeb() options.
The URL supplied here should be the base URL for the Connect or gRPC server (for example, http://api.acme.com or https://acme.com/grpc).
type LeaseServiceHandler ¶
type LeaseServiceHandler interface { // Ping service for readiness. Ping(context.Context, *connect.Request[v1.PingRequest]) (*connect.Response[v1.PingResponse], error) // Acquire (and renew) a lease for a deployment. // // Returns ResourceExhausted if the lease is held. AcquireLease(context.Context, *connect.BidiStream[v11.AcquireLeaseRequest, v11.AcquireLeaseResponse]) error }
LeaseServiceHandler is an implementation of the xyz.block.ftl.lease.v1.LeaseService service.
type UnimplementedLeaseServiceHandler ¶
type UnimplementedLeaseServiceHandler struct{}
UnimplementedLeaseServiceHandler returns CodeUnimplemented from all methods.
func (UnimplementedLeaseServiceHandler) AcquireLease ¶
func (UnimplementedLeaseServiceHandler) AcquireLease(context.Context, *connect.BidiStream[v11.AcquireLeaseRequest, v11.AcquireLeaseResponse]) error
func (UnimplementedLeaseServiceHandler) Ping ¶
func (UnimplementedLeaseServiceHandler) Ping(context.Context, *connect.Request[v1.PingRequest]) (*connect.Response[v1.PingResponse], error)