Documentation ¶
Overview ¶
Package watchtowerrpc is a reverse proxy.
It translates gRPC into RESTful JSON APIs.
Index ¶
- Constants
- 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
- func (*GetInfoRequest) Descriptor() ([]byte, []int)
- func (*GetInfoRequest) ProtoMessage()
- func (m *GetInfoRequest) Reset()
- func (m *GetInfoRequest) String() string
- func (m *GetInfoRequest) XXX_DiscardUnknown()
- func (m *GetInfoRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
- func (m *GetInfoRequest) XXX_Merge(src proto.Message)
- func (m *GetInfoRequest) XXX_Size() int
- func (m *GetInfoRequest) XXX_Unmarshal(b []byte) error
- type GetInfoResponse
- func (*GetInfoResponse) Descriptor() ([]byte, []int)
- func (m *GetInfoResponse) GetListeners() []string
- func (m *GetInfoResponse) GetPubkey() []byte
- func (m *GetInfoResponse) GetUris() []string
- func (*GetInfoResponse) ProtoMessage()
- func (m *GetInfoResponse) Reset()
- func (m *GetInfoResponse) String() string
- func (m *GetInfoResponse) XXX_DiscardUnknown()
- func (m *GetInfoResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
- func (m *GetInfoResponse) XXX_Merge(src proto.Message)
- func (m *GetInfoResponse) XXX_Size() int
- func (m *GetInfoResponse) XXX_Unmarshal(b []byte) error
- type UnimplementedWatchtowerServer
- type WatchtowerBackend
- type WatchtowerClient
- type WatchtowerServer
Constants ¶
const Subsystem = "WRPC"
Subsystem defines the logging code for this subsystem.
Variables ¶
This section is empty.
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 { XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` }
func (*GetInfoRequest) Descriptor ¶
func (*GetInfoRequest) Descriptor() ([]byte, []int)
func (*GetInfoRequest) ProtoMessage ¶
func (*GetInfoRequest) ProtoMessage()
func (*GetInfoRequest) Reset ¶
func (m *GetInfoRequest) Reset()
func (*GetInfoRequest) String ¶
func (m *GetInfoRequest) String() string
func (*GetInfoRequest) XXX_DiscardUnknown ¶
func (m *GetInfoRequest) XXX_DiscardUnknown()
func (*GetInfoRequest) XXX_Marshal ¶
func (m *GetInfoRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
func (*GetInfoRequest) XXX_Merge ¶
func (m *GetInfoRequest) XXX_Merge(src proto.Message)
func (*GetInfoRequest) XXX_Size ¶
func (m *GetInfoRequest) XXX_Size() int
func (*GetInfoRequest) XXX_Unmarshal ¶
func (m *GetInfoRequest) XXX_Unmarshal(b []byte) error
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"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` }
func (*GetInfoResponse) Descriptor ¶
func (*GetInfoResponse) Descriptor() ([]byte, []int)
func (*GetInfoResponse) GetListeners ¶
func (m *GetInfoResponse) GetListeners() []string
func (*GetInfoResponse) GetPubkey ¶
func (m *GetInfoResponse) GetPubkey() []byte
func (*GetInfoResponse) GetUris ¶
func (m *GetInfoResponse) GetUris() []string
func (*GetInfoResponse) ProtoMessage ¶
func (*GetInfoResponse) ProtoMessage()
func (*GetInfoResponse) Reset ¶
func (m *GetInfoResponse) Reset()
func (*GetInfoResponse) String ¶
func (m *GetInfoResponse) String() string
func (*GetInfoResponse) XXX_DiscardUnknown ¶
func (m *GetInfoResponse) XXX_DiscardUnknown()
func (*GetInfoResponse) XXX_Marshal ¶
func (m *GetInfoResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
func (*GetInfoResponse) XXX_Merge ¶
func (m *GetInfoResponse) XXX_Merge(src proto.Message)
func (*GetInfoResponse) XXX_Size ¶
func (m *GetInfoResponse) XXX_Size() int
func (*GetInfoResponse) XXX_Unmarshal ¶
func (m *GetInfoResponse) XXX_Unmarshal(b []byte) error
type UnimplementedWatchtowerServer ¶
type UnimplementedWatchtowerServer struct { }
UnimplementedWatchtowerServer can be embedded to have forward compatible implementations.
func (*UnimplementedWatchtowerServer) GetInfo ¶
func (*UnimplementedWatchtowerServer) GetInfo(ctx context.Context, req *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.ClientConn) 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.