28a299efa8
* Initial rocksdb commit Basic reading from rocksdb works * Try github action thing * try local dockerfile * asdf * qwer * asdf * Try adding test db with git-lfs * update action * cleanup * Don't hardcode stop on read * Progress of reading rocksdb * fixes and arg test * asdf * Fix rocksdb iterator and tests * update script * asdf * Better iterator. Need to implement a lot of keys next, and tests, maybe tests needed. * asdf * asdf * asdf * Implementation, testing, and cleanup. Implemented more prefixes. Figured out a good test that should work for all prefixes. Removed binary databases so we can just store human readable csv files. * more tests, prefixes and small refactor * Another prefix * EffectiveAmount * ActiveAmount * ActivatedClaimAndSupport * PendingActivation * ClaimTakeover * ClaimExpiration * SupportToClaim * ClaimToSupport * Fix bug with variable length keys * ChannelToClaim * ClaimToChannel * ClaimShortID * TXOToClaim * ClaimToTXO * BlockHeader * BlockHash * Undo * HashXHistory * Tx and big refactor * rest the the keys * Refactor and starting to add resolve * asdf * Refactor tests and add column families * changes * more work on implementing resolve * code cleanup, function tests * small code refactoring * start building pieces of the test data set for full resolve. * Export constant, add test * another test * TestGetTxHash * more tests * more tests * More tests * Refactor db functions into three files * added slice backed stack, need to fix tests * fix some issues with test suite * some cleanup and adding arguments and db load / refresh to server command * fix some bugs, start using logrus for leveled logging, upgrade to go 1.17, run go mod tidy * logrus, protobuf updates, resolve grpc endpoint * don't run integration test with unit tests * signal handling and cleanup functions * signal handling code files * Unit tests for db stack * reorganize bisect function so we lock it properly * fix txcounts loading * cleanup some logic around iterators and fix a bug where I was running two detect changes threads * add some metrics * cleanup * blocking and filtering implemented * add params for blocking and filtering channels and streams * updates and fixes for integration tests * use newer version of lbry.go when possible * Add height endpoint and move string functions internal * remove gitattributes, unused * some cleanup * more cleanup / refactor. almost ready for another review * More cleanup * use chainhash.Hash types from lbcd where appropriate * update github action to go-1.17.8 * update go version needed * trying to fix these builds * cleanup * trying to fix memory leak * fix memory leak (iterator never finished so cleanup didn't run) * changes per code review * remove lbry.go v2 * rename sort.go search.go * fix test
493 lines
16 KiB
Go
493 lines
16 KiB
Go
// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
|
|
// versions:
|
|
// - protoc-gen-go-grpc v1.2.0
|
|
// - protoc v3.17.1
|
|
// source: hub.proto
|
|
|
|
package pb
|
|
|
|
import (
|
|
context "context"
|
|
grpc "google.golang.org/grpc"
|
|
codes "google.golang.org/grpc/codes"
|
|
status "google.golang.org/grpc/status"
|
|
)
|
|
|
|
// This is a compile-time assertion to ensure that this generated file
|
|
// is compatible with the grpc package it is being compiled against.
|
|
// Requires gRPC-Go v1.32.0 or later.
|
|
const _ = grpc.SupportPackageIsVersion7
|
|
|
|
// HubClient is the client API for Hub 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.
|
|
type HubClient interface {
|
|
Search(ctx context.Context, in *SearchRequest, opts ...grpc.CallOption) (*Outputs, error)
|
|
Ping(ctx context.Context, in *EmptyMessage, opts ...grpc.CallOption) (*StringValue, error)
|
|
Hello(ctx context.Context, in *HelloMessage, opts ...grpc.CallOption) (*HelloMessage, error)
|
|
AddPeer(ctx context.Context, in *ServerMessage, opts ...grpc.CallOption) (*StringValue, error)
|
|
PeerSubscribe(ctx context.Context, in *ServerMessage, opts ...grpc.CallOption) (*StringValue, error)
|
|
Version(ctx context.Context, in *EmptyMessage, opts ...grpc.CallOption) (*StringValue, error)
|
|
Features(ctx context.Context, in *EmptyMessage, opts ...grpc.CallOption) (*StringValue, error)
|
|
Broadcast(ctx context.Context, in *EmptyMessage, opts ...grpc.CallOption) (*UInt32Value, error)
|
|
Height(ctx context.Context, in *EmptyMessage, opts ...grpc.CallOption) (*UInt32Value, error)
|
|
HeightSubscribe(ctx context.Context, in *UInt32Value, opts ...grpc.CallOption) (Hub_HeightSubscribeClient, error)
|
|
Resolve(ctx context.Context, in *StringArray, opts ...grpc.CallOption) (*Outputs, error)
|
|
}
|
|
|
|
type hubClient struct {
|
|
cc grpc.ClientConnInterface
|
|
}
|
|
|
|
func NewHubClient(cc grpc.ClientConnInterface) HubClient {
|
|
return &hubClient{cc}
|
|
}
|
|
|
|
func (c *hubClient) Search(ctx context.Context, in *SearchRequest, opts ...grpc.CallOption) (*Outputs, error) {
|
|
out := new(Outputs)
|
|
err := c.cc.Invoke(ctx, "/pb.Hub/Search", in, out, opts...)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
return out, nil
|
|
}
|
|
|
|
func (c *hubClient) Ping(ctx context.Context, in *EmptyMessage, opts ...grpc.CallOption) (*StringValue, error) {
|
|
out := new(StringValue)
|
|
err := c.cc.Invoke(ctx, "/pb.Hub/Ping", in, out, opts...)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
return out, nil
|
|
}
|
|
|
|
func (c *hubClient) Hello(ctx context.Context, in *HelloMessage, opts ...grpc.CallOption) (*HelloMessage, error) {
|
|
out := new(HelloMessage)
|
|
err := c.cc.Invoke(ctx, "/pb.Hub/Hello", in, out, opts...)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
return out, nil
|
|
}
|
|
|
|
func (c *hubClient) AddPeer(ctx context.Context, in *ServerMessage, opts ...grpc.CallOption) (*StringValue, error) {
|
|
out := new(StringValue)
|
|
err := c.cc.Invoke(ctx, "/pb.Hub/AddPeer", in, out, opts...)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
return out, nil
|
|
}
|
|
|
|
func (c *hubClient) PeerSubscribe(ctx context.Context, in *ServerMessage, opts ...grpc.CallOption) (*StringValue, error) {
|
|
out := new(StringValue)
|
|
err := c.cc.Invoke(ctx, "/pb.Hub/PeerSubscribe", in, out, opts...)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
return out, nil
|
|
}
|
|
|
|
func (c *hubClient) Version(ctx context.Context, in *EmptyMessage, opts ...grpc.CallOption) (*StringValue, error) {
|
|
out := new(StringValue)
|
|
err := c.cc.Invoke(ctx, "/pb.Hub/Version", in, out, opts...)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
return out, nil
|
|
}
|
|
|
|
func (c *hubClient) Features(ctx context.Context, in *EmptyMessage, opts ...grpc.CallOption) (*StringValue, error) {
|
|
out := new(StringValue)
|
|
err := c.cc.Invoke(ctx, "/pb.Hub/Features", in, out, opts...)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
return out, nil
|
|
}
|
|
|
|
func (c *hubClient) Broadcast(ctx context.Context, in *EmptyMessage, opts ...grpc.CallOption) (*UInt32Value, error) {
|
|
out := new(UInt32Value)
|
|
err := c.cc.Invoke(ctx, "/pb.Hub/Broadcast", in, out, opts...)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
return out, nil
|
|
}
|
|
|
|
func (c *hubClient) Height(ctx context.Context, in *EmptyMessage, opts ...grpc.CallOption) (*UInt32Value, error) {
|
|
out := new(UInt32Value)
|
|
err := c.cc.Invoke(ctx, "/pb.Hub/Height", in, out, opts...)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
return out, nil
|
|
}
|
|
|
|
func (c *hubClient) HeightSubscribe(ctx context.Context, in *UInt32Value, opts ...grpc.CallOption) (Hub_HeightSubscribeClient, error) {
|
|
stream, err := c.cc.NewStream(ctx, &Hub_ServiceDesc.Streams[0], "/pb.Hub/HeightSubscribe", opts...)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
x := &hubHeightSubscribeClient{stream}
|
|
if err := x.ClientStream.SendMsg(in); err != nil {
|
|
return nil, err
|
|
}
|
|
if err := x.ClientStream.CloseSend(); err != nil {
|
|
return nil, err
|
|
}
|
|
return x, nil
|
|
}
|
|
|
|
type Hub_HeightSubscribeClient interface {
|
|
Recv() (*UInt32Value, error)
|
|
grpc.ClientStream
|
|
}
|
|
|
|
type hubHeightSubscribeClient struct {
|
|
grpc.ClientStream
|
|
}
|
|
|
|
func (x *hubHeightSubscribeClient) Recv() (*UInt32Value, error) {
|
|
m := new(UInt32Value)
|
|
if err := x.ClientStream.RecvMsg(m); err != nil {
|
|
return nil, err
|
|
}
|
|
return m, nil
|
|
}
|
|
|
|
func (c *hubClient) Resolve(ctx context.Context, in *StringArray, opts ...grpc.CallOption) (*Outputs, error) {
|
|
out := new(Outputs)
|
|
err := c.cc.Invoke(ctx, "/pb.Hub/Resolve", in, out, opts...)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
return out, nil
|
|
}
|
|
|
|
// HubServer is the server API for Hub service.
|
|
// All implementations must embed UnimplementedHubServer
|
|
// for forward compatibility
|
|
type HubServer interface {
|
|
Search(context.Context, *SearchRequest) (*Outputs, error)
|
|
Ping(context.Context, *EmptyMessage) (*StringValue, error)
|
|
Hello(context.Context, *HelloMessage) (*HelloMessage, error)
|
|
AddPeer(context.Context, *ServerMessage) (*StringValue, error)
|
|
PeerSubscribe(context.Context, *ServerMessage) (*StringValue, error)
|
|
Version(context.Context, *EmptyMessage) (*StringValue, error)
|
|
Features(context.Context, *EmptyMessage) (*StringValue, error)
|
|
Broadcast(context.Context, *EmptyMessage) (*UInt32Value, error)
|
|
Height(context.Context, *EmptyMessage) (*UInt32Value, error)
|
|
HeightSubscribe(*UInt32Value, Hub_HeightSubscribeServer) error
|
|
Resolve(context.Context, *StringArray) (*Outputs, error)
|
|
mustEmbedUnimplementedHubServer()
|
|
}
|
|
|
|
// UnimplementedHubServer must be embedded to have forward compatible implementations.
|
|
type UnimplementedHubServer struct {
|
|
}
|
|
|
|
func (UnimplementedHubServer) Search(context.Context, *SearchRequest) (*Outputs, error) {
|
|
return nil, status.Errorf(codes.Unimplemented, "method Search not implemented")
|
|
}
|
|
func (UnimplementedHubServer) Ping(context.Context, *EmptyMessage) (*StringValue, error) {
|
|
return nil, status.Errorf(codes.Unimplemented, "method Ping not implemented")
|
|
}
|
|
func (UnimplementedHubServer) Hello(context.Context, *HelloMessage) (*HelloMessage, error) {
|
|
return nil, status.Errorf(codes.Unimplemented, "method Hello not implemented")
|
|
}
|
|
func (UnimplementedHubServer) AddPeer(context.Context, *ServerMessage) (*StringValue, error) {
|
|
return nil, status.Errorf(codes.Unimplemented, "method AddPeer not implemented")
|
|
}
|
|
func (UnimplementedHubServer) PeerSubscribe(context.Context, *ServerMessage) (*StringValue, error) {
|
|
return nil, status.Errorf(codes.Unimplemented, "method PeerSubscribe not implemented")
|
|
}
|
|
func (UnimplementedHubServer) Version(context.Context, *EmptyMessage) (*StringValue, error) {
|
|
return nil, status.Errorf(codes.Unimplemented, "method Version not implemented")
|
|
}
|
|
func (UnimplementedHubServer) Features(context.Context, *EmptyMessage) (*StringValue, error) {
|
|
return nil, status.Errorf(codes.Unimplemented, "method Features not implemented")
|
|
}
|
|
func (UnimplementedHubServer) Broadcast(context.Context, *EmptyMessage) (*UInt32Value, error) {
|
|
return nil, status.Errorf(codes.Unimplemented, "method Broadcast not implemented")
|
|
}
|
|
func (UnimplementedHubServer) Height(context.Context, *EmptyMessage) (*UInt32Value, error) {
|
|
return nil, status.Errorf(codes.Unimplemented, "method Height not implemented")
|
|
}
|
|
func (UnimplementedHubServer) HeightSubscribe(*UInt32Value, Hub_HeightSubscribeServer) error {
|
|
return status.Errorf(codes.Unimplemented, "method HeightSubscribe not implemented")
|
|
}
|
|
func (UnimplementedHubServer) Resolve(context.Context, *StringArray) (*Outputs, error) {
|
|
return nil, status.Errorf(codes.Unimplemented, "method Resolve not implemented")
|
|
}
|
|
func (UnimplementedHubServer) mustEmbedUnimplementedHubServer() {}
|
|
|
|
// UnsafeHubServer may be embedded to opt out of forward compatibility for this service.
|
|
// Use of this interface is not recommended, as added methods to HubServer will
|
|
// result in compilation errors.
|
|
type UnsafeHubServer interface {
|
|
mustEmbedUnimplementedHubServer()
|
|
}
|
|
|
|
func RegisterHubServer(s grpc.ServiceRegistrar, srv HubServer) {
|
|
s.RegisterService(&Hub_ServiceDesc, srv)
|
|
}
|
|
|
|
func _Hub_Search_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
|
|
in := new(SearchRequest)
|
|
if err := dec(in); err != nil {
|
|
return nil, err
|
|
}
|
|
if interceptor == nil {
|
|
return srv.(HubServer).Search(ctx, in)
|
|
}
|
|
info := &grpc.UnaryServerInfo{
|
|
Server: srv,
|
|
FullMethod: "/pb.Hub/Search",
|
|
}
|
|
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
|
return srv.(HubServer).Search(ctx, req.(*SearchRequest))
|
|
}
|
|
return interceptor(ctx, in, info, handler)
|
|
}
|
|
|
|
func _Hub_Ping_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
|
|
in := new(EmptyMessage)
|
|
if err := dec(in); err != nil {
|
|
return nil, err
|
|
}
|
|
if interceptor == nil {
|
|
return srv.(HubServer).Ping(ctx, in)
|
|
}
|
|
info := &grpc.UnaryServerInfo{
|
|
Server: srv,
|
|
FullMethod: "/pb.Hub/Ping",
|
|
}
|
|
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
|
return srv.(HubServer).Ping(ctx, req.(*EmptyMessage))
|
|
}
|
|
return interceptor(ctx, in, info, handler)
|
|
}
|
|
|
|
func _Hub_Hello_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
|
|
in := new(HelloMessage)
|
|
if err := dec(in); err != nil {
|
|
return nil, err
|
|
}
|
|
if interceptor == nil {
|
|
return srv.(HubServer).Hello(ctx, in)
|
|
}
|
|
info := &grpc.UnaryServerInfo{
|
|
Server: srv,
|
|
FullMethod: "/pb.Hub/Hello",
|
|
}
|
|
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
|
return srv.(HubServer).Hello(ctx, req.(*HelloMessage))
|
|
}
|
|
return interceptor(ctx, in, info, handler)
|
|
}
|
|
|
|
func _Hub_AddPeer_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
|
|
in := new(ServerMessage)
|
|
if err := dec(in); err != nil {
|
|
return nil, err
|
|
}
|
|
if interceptor == nil {
|
|
return srv.(HubServer).AddPeer(ctx, in)
|
|
}
|
|
info := &grpc.UnaryServerInfo{
|
|
Server: srv,
|
|
FullMethod: "/pb.Hub/AddPeer",
|
|
}
|
|
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
|
return srv.(HubServer).AddPeer(ctx, req.(*ServerMessage))
|
|
}
|
|
return interceptor(ctx, in, info, handler)
|
|
}
|
|
|
|
func _Hub_PeerSubscribe_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
|
|
in := new(ServerMessage)
|
|
if err := dec(in); err != nil {
|
|
return nil, err
|
|
}
|
|
if interceptor == nil {
|
|
return srv.(HubServer).PeerSubscribe(ctx, in)
|
|
}
|
|
info := &grpc.UnaryServerInfo{
|
|
Server: srv,
|
|
FullMethod: "/pb.Hub/PeerSubscribe",
|
|
}
|
|
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
|
return srv.(HubServer).PeerSubscribe(ctx, req.(*ServerMessage))
|
|
}
|
|
return interceptor(ctx, in, info, handler)
|
|
}
|
|
|
|
func _Hub_Version_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
|
|
in := new(EmptyMessage)
|
|
if err := dec(in); err != nil {
|
|
return nil, err
|
|
}
|
|
if interceptor == nil {
|
|
return srv.(HubServer).Version(ctx, in)
|
|
}
|
|
info := &grpc.UnaryServerInfo{
|
|
Server: srv,
|
|
FullMethod: "/pb.Hub/Version",
|
|
}
|
|
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
|
return srv.(HubServer).Version(ctx, req.(*EmptyMessage))
|
|
}
|
|
return interceptor(ctx, in, info, handler)
|
|
}
|
|
|
|
func _Hub_Features_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
|
|
in := new(EmptyMessage)
|
|
if err := dec(in); err != nil {
|
|
return nil, err
|
|
}
|
|
if interceptor == nil {
|
|
return srv.(HubServer).Features(ctx, in)
|
|
}
|
|
info := &grpc.UnaryServerInfo{
|
|
Server: srv,
|
|
FullMethod: "/pb.Hub/Features",
|
|
}
|
|
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
|
return srv.(HubServer).Features(ctx, req.(*EmptyMessage))
|
|
}
|
|
return interceptor(ctx, in, info, handler)
|
|
}
|
|
|
|
func _Hub_Broadcast_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
|
|
in := new(EmptyMessage)
|
|
if err := dec(in); err != nil {
|
|
return nil, err
|
|
}
|
|
if interceptor == nil {
|
|
return srv.(HubServer).Broadcast(ctx, in)
|
|
}
|
|
info := &grpc.UnaryServerInfo{
|
|
Server: srv,
|
|
FullMethod: "/pb.Hub/Broadcast",
|
|
}
|
|
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
|
return srv.(HubServer).Broadcast(ctx, req.(*EmptyMessage))
|
|
}
|
|
return interceptor(ctx, in, info, handler)
|
|
}
|
|
|
|
func _Hub_Height_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
|
|
in := new(EmptyMessage)
|
|
if err := dec(in); err != nil {
|
|
return nil, err
|
|
}
|
|
if interceptor == nil {
|
|
return srv.(HubServer).Height(ctx, in)
|
|
}
|
|
info := &grpc.UnaryServerInfo{
|
|
Server: srv,
|
|
FullMethod: "/pb.Hub/Height",
|
|
}
|
|
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
|
return srv.(HubServer).Height(ctx, req.(*EmptyMessage))
|
|
}
|
|
return interceptor(ctx, in, info, handler)
|
|
}
|
|
|
|
func _Hub_HeightSubscribe_Handler(srv interface{}, stream grpc.ServerStream) error {
|
|
m := new(UInt32Value)
|
|
if err := stream.RecvMsg(m); err != nil {
|
|
return err
|
|
}
|
|
return srv.(HubServer).HeightSubscribe(m, &hubHeightSubscribeServer{stream})
|
|
}
|
|
|
|
type Hub_HeightSubscribeServer interface {
|
|
Send(*UInt32Value) error
|
|
grpc.ServerStream
|
|
}
|
|
|
|
type hubHeightSubscribeServer struct {
|
|
grpc.ServerStream
|
|
}
|
|
|
|
func (x *hubHeightSubscribeServer) Send(m *UInt32Value) error {
|
|
return x.ServerStream.SendMsg(m)
|
|
}
|
|
|
|
func _Hub_Resolve_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
|
|
in := new(StringArray)
|
|
if err := dec(in); err != nil {
|
|
return nil, err
|
|
}
|
|
if interceptor == nil {
|
|
return srv.(HubServer).Resolve(ctx, in)
|
|
}
|
|
info := &grpc.UnaryServerInfo{
|
|
Server: srv,
|
|
FullMethod: "/pb.Hub/Resolve",
|
|
}
|
|
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
|
return srv.(HubServer).Resolve(ctx, req.(*StringArray))
|
|
}
|
|
return interceptor(ctx, in, info, handler)
|
|
}
|
|
|
|
// Hub_ServiceDesc is the grpc.ServiceDesc for Hub service.
|
|
// It's only intended for direct use with grpc.RegisterService,
|
|
// and not to be introspected or modified (even as a copy)
|
|
var Hub_ServiceDesc = grpc.ServiceDesc{
|
|
ServiceName: "pb.Hub",
|
|
HandlerType: (*HubServer)(nil),
|
|
Methods: []grpc.MethodDesc{
|
|
{
|
|
MethodName: "Search",
|
|
Handler: _Hub_Search_Handler,
|
|
},
|
|
{
|
|
MethodName: "Ping",
|
|
Handler: _Hub_Ping_Handler,
|
|
},
|
|
{
|
|
MethodName: "Hello",
|
|
Handler: _Hub_Hello_Handler,
|
|
},
|
|
{
|
|
MethodName: "AddPeer",
|
|
Handler: _Hub_AddPeer_Handler,
|
|
},
|
|
{
|
|
MethodName: "PeerSubscribe",
|
|
Handler: _Hub_PeerSubscribe_Handler,
|
|
},
|
|
{
|
|
MethodName: "Version",
|
|
Handler: _Hub_Version_Handler,
|
|
},
|
|
{
|
|
MethodName: "Features",
|
|
Handler: _Hub_Features_Handler,
|
|
},
|
|
{
|
|
MethodName: "Broadcast",
|
|
Handler: _Hub_Broadcast_Handler,
|
|
},
|
|
{
|
|
MethodName: "Height",
|
|
Handler: _Hub_Height_Handler,
|
|
},
|
|
{
|
|
MethodName: "Resolve",
|
|
Handler: _Hub_Resolve_Handler,
|
|
},
|
|
},
|
|
Streams: []grpc.StreamDesc{
|
|
{
|
|
StreamName: "HeightSubscribe",
|
|
Handler: _Hub_HeightSubscribe_Handler,
|
|
ServerStreams: true,
|
|
},
|
|
},
|
|
Metadata: "hub.proto",
|
|
}
|