Documentation ¶
Overview ¶
Package watchtowerrpc is a reverse proxy.
It translates gRPC into RESTful JSON APIs.
Index ¶
- Constants
- Variables
- func DisableLog()
- func RegisterWatchtowerHandler(ctx context.Context, mux *runtime.ServeMux, conn *grpc.ClientConn) error
- func RegisterWatchtowerHandlerClient(ctx context.Context, mux *runtime.ServeMux, client WatchtowerClient) error
- func RegisterWatchtowerHandlerFromEndpoint(ctx context.Context, mux *runtime.ServeMux, endpoint string, ...) (err error)
- func RegisterWatchtowerHandlerServer(ctx context.Context, mux *runtime.ServeMux, server WatchtowerServer) error
- func RegisterWatchtowerJSONCallbacks(...)
- func RegisterWatchtowerServer(s grpc.ServiceRegistrar, srv WatchtowerServer)
- func UseLogger(logger btclog.Logger)
- type Config
- type GetInfoRequest
- type GetInfoResponse
- func (*GetInfoResponse) Descriptor() ([]byte, []int)deprecated
- func (x *GetInfoResponse) GetListeners() []string
- func (x *GetInfoResponse) GetPubkey() []byte
- func (x *GetInfoResponse) GetUris() []string
- func (*GetInfoResponse) ProtoMessage()
- func (x *GetInfoResponse) ProtoReflect() protoreflect.Message
- func (x *GetInfoResponse) Reset()
- func (x *GetInfoResponse) String() string
- type UnimplementedWatchtowerServer
- type UnsafeWatchtowerServer
- type WatchtowerBackend
- type WatchtowerClient
- type WatchtowerServer
Constants ¶
const Subsystem = "WRPC"
Subsystem defines the logging code for this subsystem.
Variables ¶
var File_watchtowerrpc_watchtower_proto protoreflect.FileDescriptor
var Watchtower_ServiceDesc = grpc.ServiceDesc{ ServiceName: "watchtowerrpc.Watchtower", HandlerType: (*WatchtowerServer)(nil), Methods: []grpc.MethodDesc{ { MethodName: "GetInfo", Handler: _Watchtower_GetInfo_Handler, }, }, Streams: []grpc.StreamDesc{}, Metadata: "watchtowerrpc/watchtower.proto", }
Watchtower_ServiceDesc is the grpc.ServiceDesc for Watchtower service. It's only intended for direct use with grpc.RegisterService, and not to be introspected or modified (even as a copy)
Functions ¶
func DisableLog ¶
func DisableLog()
DisableLog disables all library log output. Logging output is disabled by by default until UseLogger is called.
func RegisterWatchtowerHandler ¶
func RegisterWatchtowerHandler(ctx context.Context, mux *runtime.ServeMux, conn *grpc.ClientConn) error
RegisterWatchtowerHandler registers the http handlers for service Watchtower to "mux". The handlers forward requests to the grpc endpoint over "conn".
func RegisterWatchtowerHandlerClient ¶
func RegisterWatchtowerHandlerClient(ctx context.Context, mux *runtime.ServeMux, client WatchtowerClient) error
RegisterWatchtowerHandlerClient registers the http handlers for service Watchtower to "mux". The handlers forward requests to the grpc endpoint over the given implementation of "WatchtowerClient". Note: the gRPC framework executes interceptors within the gRPC handler. If the passed in "WatchtowerClient" doesn't go through the normal gRPC flow (creating a gRPC client etc.) then it will be up to the passed in "WatchtowerClient" to call the correct interceptors.
func RegisterWatchtowerHandlerFromEndpoint ¶
func RegisterWatchtowerHandlerFromEndpoint(ctx context.Context, mux *runtime.ServeMux, endpoint string, opts []grpc.DialOption) (err error)
RegisterWatchtowerHandlerFromEndpoint is same as RegisterWatchtowerHandler but automatically dials to "endpoint" and closes the connection when "ctx" gets done.
func RegisterWatchtowerHandlerServer ¶
func RegisterWatchtowerHandlerServer(ctx context.Context, mux *runtime.ServeMux, server WatchtowerServer) error
RegisterWatchtowerHandlerServer registers the http handlers for service Watchtower to "mux". UnaryRPC :call WatchtowerServer directly. StreamingRPC :currently unsupported pending https://github.com/grpc/grpc-go/issues/906. Note that using this registration option will cause many gRPC library features to stop working. Consider using RegisterWatchtowerHandlerFromEndpoint instead.
func RegisterWatchtowerServer ¶
func RegisterWatchtowerServer(s grpc.ServiceRegistrar, srv WatchtowerServer)
Types ¶
type GetInfoRequest ¶
type GetInfoRequest struct {
// contains filtered or unexported fields
}
func (*GetInfoRequest) Descriptor
deprecated
func (*GetInfoRequest) Descriptor() ([]byte, []int)
Deprecated: Use GetInfoRequest.ProtoReflect.Descriptor instead.
func (*GetInfoRequest) ProtoMessage ¶
func (*GetInfoRequest) ProtoMessage()
func (*GetInfoRequest) ProtoReflect ¶
func (x *GetInfoRequest) ProtoReflect() protoreflect.Message
func (*GetInfoRequest) Reset ¶
func (x *GetInfoRequest) Reset()
func (*GetInfoRequest) String ¶
func (x *GetInfoRequest) String() string
type GetInfoResponse ¶
type GetInfoResponse struct { // The public key of the watchtower. Pubkey []byte `protobuf:"bytes,1,opt,name=pubkey,proto3" json:"pubkey,omitempty"` // The listening addresses of the watchtower. Listeners []string `protobuf:"bytes,2,rep,name=listeners,proto3" json:"listeners,omitempty"` // The URIs of the watchtower. Uris []string `protobuf:"bytes,3,rep,name=uris,proto3" json:"uris,omitempty"` // contains filtered or unexported fields }
func (*GetInfoResponse) Descriptor
deprecated
func (*GetInfoResponse) Descriptor() ([]byte, []int)
Deprecated: Use GetInfoResponse.ProtoReflect.Descriptor instead.
func (*GetInfoResponse) GetListeners ¶
func (x *GetInfoResponse) GetListeners() []string
func (*GetInfoResponse) GetPubkey ¶
func (x *GetInfoResponse) GetPubkey() []byte
func (*GetInfoResponse) GetUris ¶
func (x *GetInfoResponse) GetUris() []string
func (*GetInfoResponse) ProtoMessage ¶
func (*GetInfoResponse) ProtoMessage()
func (*GetInfoResponse) ProtoReflect ¶
func (x *GetInfoResponse) ProtoReflect() protoreflect.Message
func (*GetInfoResponse) Reset ¶
func (x *GetInfoResponse) Reset()
func (*GetInfoResponse) String ¶
func (x *GetInfoResponse) String() string
type UnimplementedWatchtowerServer ¶
type UnimplementedWatchtowerServer struct { }
UnimplementedWatchtowerServer must be embedded to have forward compatible implementations.
func (UnimplementedWatchtowerServer) GetInfo ¶
func (UnimplementedWatchtowerServer) GetInfo(context.Context, *GetInfoRequest) (*GetInfoResponse, error)
type UnsafeWatchtowerServer ¶
type UnsafeWatchtowerServer interface {
// contains filtered or unexported methods
}
UnsafeWatchtowerServer may be embedded to opt out of forward compatibility for this service. Use of this interface is not recommended, as added methods to WatchtowerServer will result in compilation errors.
type WatchtowerBackend ¶
type WatchtowerBackend interface { // PubKey returns the public key for the watchtower used to // authentication and encrypt traffic with clients. PubKey() *btcec.PublicKey // ListeningAddrs returns the listening addresses where the watchtower // server can accept client connections. ListeningAddrs() []net.Addr // ExternalIPs returns the addresses where the watchtower can be reached // by clients externally. ExternalIPs() []net.Addr }
WatchtowerBackend abstracts access to the watchtower information that is served via RPC connections.
type WatchtowerClient ¶
type WatchtowerClient interface { // lncli: `tower info` // GetInfo returns general information concerning the companion watchtower // including its public key and URIs where the server is currently // listening for clients. GetInfo(ctx context.Context, in *GetInfoRequest, opts ...grpc.CallOption) (*GetInfoResponse, error) }
WatchtowerClient is the client API for Watchtower 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 NewWatchtowerClient ¶
func NewWatchtowerClient(cc grpc.ClientConnInterface) WatchtowerClient
type WatchtowerServer ¶
type WatchtowerServer interface { // lncli: `tower info` // GetInfo returns general information concerning the companion watchtower // including its public key and URIs where the server is currently // listening for clients. GetInfo(context.Context, *GetInfoRequest) (*GetInfoResponse, error) // contains filtered or unexported methods }
WatchtowerServer is the server API for Watchtower service. All implementations must embed UnimplementedWatchtowerServer for forward compatibility