watchtowerrpc

package
v0.0.0-...-46f88e6 Latest Latest
Warning

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

Go to latest
Published: Sep 24, 2023 License: ISC, MIT Imports: 15 Imported by: 0

Documentation

Overview

Package watchtowerrpc is a reverse proxy.

It translates gRPC into RESTful JSON APIs.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

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 Config

type Config struct{}

Config is empty for non-watchtowerrpc builds.

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

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.

Jump to

Keyboard shortcuts

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