verrpc

package
v0.0.0-...-4461705 Latest Latest
Warning

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

Go to latest
Published: Aug 3, 2022 License: MIT Imports: 20 Imported by: 0

Documentation

Overview

Package verrpc is a reverse proxy.

It translates gRPC into RESTful JSON APIs.

Index

Constants

View Source
const Subsystem = "VRPC"

Subsystem defines the logging code for this subsystem.

Variables

View Source
var File_verrpc_verrpc_proto protoreflect.FileDescriptor
View Source
var Versioner_ServiceDesc = grpc.ServiceDesc{
	ServiceName: "verrpc.Versioner",
	HandlerType: (*VersionerServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "GetVersion",
			Handler:    _Versioner_GetVersion_Handler,
		},
	},
	Streams:  []grpc.StreamDesc{},
	Metadata: "verrpc/verrpc.proto",
}

Versioner_ServiceDesc is the grpc.ServiceDesc for Versioner 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 default until UseLogger is called.

func RegisterVersionerHandler

func RegisterVersionerHandler(ctx context.Context, mux *runtime.ServeMux, conn *grpc.ClientConn) error

RegisterVersionerHandler registers the http handlers for service Versioner to "mux". The handlers forward requests to the grpc endpoint over "conn".

func RegisterVersionerHandlerClient

func RegisterVersionerHandlerClient(ctx context.Context, mux *runtime.ServeMux, client VersionerClient) error

RegisterVersionerHandlerClient registers the http handlers for service Versioner to "mux". The handlers forward requests to the grpc endpoint over the given implementation of "VersionerClient". Note: the gRPC framework executes interceptors within the gRPC handler. If the passed in "VersionerClient" doesn't go through the normal gRPC flow (creating a gRPC client etc.) then it will be up to the passed in "VersionerClient" to call the correct interceptors.

func RegisterVersionerHandlerFromEndpoint

func RegisterVersionerHandlerFromEndpoint(ctx context.Context, mux *runtime.ServeMux, endpoint string, opts []grpc.DialOption) (err error)

RegisterVersionerHandlerFromEndpoint is same as RegisterVersionerHandler but automatically dials to "endpoint" and closes the connection when "ctx" gets done.

func RegisterVersionerHandlerServer

func RegisterVersionerHandlerServer(ctx context.Context, mux *runtime.ServeMux, server VersionerServer) error

RegisterVersionerHandlerServer registers the http handlers for service Versioner to "mux". UnaryRPC :call VersionerServer 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 RegisterVersionerHandlerFromEndpoint instead.

func RegisterVersionerServer

func RegisterVersionerServer(s grpc.ServiceRegistrar, srv VersionerServer)

func UseLogger

func UseLogger(logger bronlog.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 bronlog.

Types

type Server

type Server struct {
	// Required by the grpc-gateway/v2 library for forward compatibility.
	UnimplementedVersionerServer
}

Server is an rpc server that supports querying for information about the running binary.

func (*Server) GetVersion

func (s *Server) GetVersion(_ context.Context,
	_ *VersionRequest) (*Version, error)

GetVersion returns information about the compiled binary.

func (*Server) Name

func (s *Server) Name() string

Name returns a unique string representation of the sub-server. This can be used to identify the sub-server and also de-duplicate them.

NOTE: This is part of the lnrpc.SubServer interface.

func (*Server) Start

func (s *Server) Start() error

Start launches any helper goroutines required for the rpcServer to function.

NOTE: This is part of the lnrpc.SubServer interface.

func (*Server) Stop

func (s *Server) Stop() error

Stop signals any active goroutines for a graceful closure.

NOTE: This is part of the lnrpc.SubServer interface.

type ServerShell

type ServerShell struct {
	VersionerServer
}

ServerShell is a shell struct holding a reference to the actual sub-server. It is used to register the gRPC sub-server with the root server before we have the necessary dependencies to populate the actual sub-server.

func (*ServerShell) CreateSubServer

CreateSubServer populates the subserver's dependencies using the passed SubServerConfigDispatcher. This method should fully initialize the sub-server instance, making it ready for action. It returns the macaroon permissions that the sub-server wishes to pass on to the root server for all methods routed towards it.

NOTE: This is part of the lnrpc.GrpcHandler interface.

func (*ServerShell) RegisterWithRestServer

func (r *ServerShell) RegisterWithRestServer(ctx context.Context,
	mux *runtime.ServeMux, dest string, opts []grpc.DialOption) error

RegisterWithRestServer will be called by the root REST mux to direct a sub RPC server to register itself with the main REST mux server. Until this is called, each sub-server won't be able to have requests routed towards it.

NOTE: This is part of the lnrpc.GrpcHandler interface.

func (*ServerShell) RegisterWithRootServer

func (r *ServerShell) RegisterWithRootServer(grpcServer *grpc.Server) error

RegisterWithRootServer will be called by the root gRPC server to direct a sub RPC server to register itself with the main gRPC root server. Until this is called, each sub-server won't be able to have requests routed towards it.

NOTE: This is part of the lnrpc.GrpcHandler interface.

type UnimplementedVersionerServer

type UnimplementedVersionerServer struct {
}

UnimplementedVersionerServer must be embedded to have forward compatible implementations.

func (UnimplementedVersionerServer) GetVersion

type UnsafeVersionerServer

type UnsafeVersionerServer interface {
	// contains filtered or unexported methods
}

UnsafeVersionerServer may be embedded to opt out of forward compatibility for this service. Use of this interface is not recommended, as added methods to VersionerServer will result in compilation errors.

type Version

type Version struct {

	// A verbose description of the daemon's commit.
	Commit string `protobuf:"bytes,1,opt,name=commit,proto3" json:"commit,omitempty"`
	// The SHA1 commit hash that the daemon is compiled with.
	CommitHash string `protobuf:"bytes,2,opt,name=commit_hash,json=commitHash,proto3" json:"commit_hash,omitempty"`
	// The semantic version.
	Version string `protobuf:"bytes,3,opt,name=version,proto3" json:"version,omitempty"`
	// The major application version.
	AppMajor uint32 `protobuf:"varint,4,opt,name=app_major,json=appMajor,proto3" json:"app_major,omitempty"`
	// The minor application version.
	AppMinor uint32 `protobuf:"varint,5,opt,name=app_minor,json=appMinor,proto3" json:"app_minor,omitempty"`
	// The application patch number.
	AppPatch uint32 `protobuf:"varint,6,opt,name=app_patch,json=appPatch,proto3" json:"app_patch,omitempty"`
	// The application pre-release modifier, possibly empty.
	AppPreRelease string `protobuf:"bytes,7,opt,name=app_pre_release,json=appPreRelease,proto3" json:"app_pre_release,omitempty"`
	// The list of build tags that were supplied during compilation.
	BuildTags []string `protobuf:"bytes,8,rep,name=build_tags,json=buildTags,proto3" json:"build_tags,omitempty"`
	// The version of go that compiled the executable.
	GoVersion string `protobuf:"bytes,9,opt,name=go_version,json=goVersion,proto3" json:"go_version,omitempty"`
	// contains filtered or unexported fields
}

func (*Version) Descriptor deprecated

func (*Version) Descriptor() ([]byte, []int)

Deprecated: Use Version.ProtoReflect.Descriptor instead.

func (*Version) GetAppMajor

func (x *Version) GetAppMajor() uint32

func (*Version) GetAppMinor

func (x *Version) GetAppMinor() uint32

func (*Version) GetAppPatch

func (x *Version) GetAppPatch() uint32

func (*Version) GetAppPreRelease

func (x *Version) GetAppPreRelease() string

func (*Version) GetBuildTags

func (x *Version) GetBuildTags() []string

func (*Version) GetCommit

func (x *Version) GetCommit() string

func (*Version) GetCommitHash

func (x *Version) GetCommitHash() string

func (*Version) GetGoVersion

func (x *Version) GetGoVersion() string

func (*Version) GetVersion

func (x *Version) GetVersion() string

func (*Version) ProtoMessage

func (*Version) ProtoMessage()

func (*Version) ProtoReflect

func (x *Version) ProtoReflect() protoreflect.Message

func (*Version) Reset

func (x *Version) Reset()

func (*Version) String

func (x *Version) String() string

type VersionRequest

type VersionRequest struct {
	// contains filtered or unexported fields
}

func (*VersionRequest) Descriptor deprecated

func (*VersionRequest) Descriptor() ([]byte, []int)

Deprecated: Use VersionRequest.ProtoReflect.Descriptor instead.

func (*VersionRequest) ProtoMessage

func (*VersionRequest) ProtoMessage()

func (*VersionRequest) ProtoReflect

func (x *VersionRequest) ProtoReflect() protoreflect.Message

func (*VersionRequest) Reset

func (x *VersionRequest) Reset()

func (*VersionRequest) String

func (x *VersionRequest) String() string

type VersionerClient

type VersionerClient interface {
	// lncli: `version`
	//GetVersion returns the current version and build information of the running
	//daemon.
	GetVersion(ctx context.Context, in *VersionRequest, opts ...grpc.CallOption) (*Version, error)
}

VersionerClient is the client API for Versioner 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 NewVersionerClient

func NewVersionerClient(cc grpc.ClientConnInterface) VersionerClient

type VersionerServer

type VersionerServer interface {
	// lncli: `version`
	//GetVersion returns the current version and build information of the running
	//daemon.
	GetVersion(context.Context, *VersionRequest) (*Version, error)
	// contains filtered or unexported methods
}

VersionerServer is the server API for Versioner service. All implementations must embed UnimplementedVersionerServer for forward compatibility

Jump to

Keyboard shortcuts

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