watchtowerrpc

package
v0.13.4-beta Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 9, 2021 License: MIT Imports: 19 Imported by: 0

Documentation

Overview

Package watchtowerrpc is a reverse proxy.

It translates gRPC into RESTful JSON APIs.

Index

Constants

View Source
const Subsystem = "WRPC"

Subsystem defines the logging code for this subsystem.

Variables

View Source
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)

func UseLogger

func UseLogger(logger btclog.Logger)

UseLogger uses a specified Logger to output package logging info. This should be used in preference to SetLogWriter if the caller is also using btclog.

Types

type Config

type Config struct{}

Config is empty for non-watchtowerrpc builds.

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

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.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL