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 RegisterWatchtowerServer(s *grpc.Server, 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 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
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.
func RegisterWatchtowerServer ¶
func RegisterWatchtowerServer(s *grpc.Server, 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 can be embedded to have forward compatible implementations.
func (*UnimplementedWatchtowerServer) GetInfo ¶
func (*UnimplementedWatchtowerServer) GetInfo(context.Context, *GetInfoRequest) (*GetInfoResponse, error)
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://godoc.org/google.golang.org/grpc#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) }
WatchtowerServer is the server API for Watchtower service.