2021-07-01 15:35:06 +00:00
// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
2022-04-07 04:29:32 +00:00
// versions:
// - protoc-gen-go-grpc v1.2.0
2022-12-01 07:32:55 +00:00
// - protoc v3.21.8
2022-04-07 04:29:32 +00:00
// source: remote/kv.proto
2021-07-01 15:35:06 +00:00
package remote
import (
2021-09-26 12:47:11 +00:00
context "context"
types "github.com/ledgerwatch/erigon-lib/gointerfaces/types"
grpc "google.golang.org/grpc"
codes "google.golang.org/grpc/codes"
status "google.golang.org/grpc/status"
emptypb "google.golang.org/protobuf/types/known/emptypb"
2021-07-01 15:35:06 +00:00
)
// 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
// KVClient is the client API for KV 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 KVClient interface {
// Version returns the service version number
Version ( ctx context . Context , in * emptypb . Empty , opts ... grpc . CallOption ) ( * types . VersionReply , error )
// Tx exposes read-only transactions for the key-value store
2021-09-15 06:11:34 +00:00
//
// When tx open, client must receive 1 message from server with txID
2021-09-26 12:47:11 +00:00
// When cursor open, client must receive 1 message from server with cursorID
2021-09-15 06:11:34 +00:00
// Then only client can initiate messages from server
2021-07-01 15:35:06 +00:00
Tx ( ctx context . Context , opts ... grpc . CallOption ) ( KV_TxClient , error )
2021-08-07 04:53:24 +00:00
StateChanges ( ctx context . Context , in * StateChangeRequest , opts ... grpc . CallOption ) ( KV_StateChangesClient , error )
2022-07-26 02:28:10 +00:00
// Snapshots returns list of current snapshot files. Then client can just open all of them.
2022-07-26 02:42:34 +00:00
Snapshots ( ctx context . Context , in * SnapshotsRequest , opts ... grpc . CallOption ) ( * SnapshotsReply , error )
2021-07-01 15:35:06 +00:00
}
type kVClient struct {
cc grpc . ClientConnInterface
}
func NewKVClient ( cc grpc . ClientConnInterface ) KVClient {
return & kVClient { cc }
}
func ( c * kVClient ) Version ( ctx context . Context , in * emptypb . Empty , opts ... grpc . CallOption ) ( * types . VersionReply , error ) {
out := new ( types . VersionReply )
err := c . cc . Invoke ( ctx , "/remote.KV/Version" , in , out , opts ... )
if err != nil {
return nil , err
}
return out , nil
}
func ( c * kVClient ) Tx ( ctx context . Context , opts ... grpc . CallOption ) ( KV_TxClient , error ) {
stream , err := c . cc . NewStream ( ctx , & KV_ServiceDesc . Streams [ 0 ] , "/remote.KV/Tx" , opts ... )
if err != nil {
return nil , err
}
x := & kVTxClient { stream }
return x , nil
}
type KV_TxClient interface {
Send ( * Cursor ) error
Recv ( ) ( * Pair , error )
grpc . ClientStream
}
type kVTxClient struct {
grpc . ClientStream
}
func ( x * kVTxClient ) Send ( m * Cursor ) error {
return x . ClientStream . SendMsg ( m )
}
func ( x * kVTxClient ) Recv ( ) ( * Pair , error ) {
m := new ( Pair )
if err := x . ClientStream . RecvMsg ( m ) ; err != nil {
return nil , err
}
return m , nil
}
2021-08-07 04:53:24 +00:00
func ( c * kVClient ) StateChanges ( ctx context . Context , in * StateChangeRequest , opts ... grpc . CallOption ) ( KV_StateChangesClient , error ) {
stream , err := c . cc . NewStream ( ctx , & KV_ServiceDesc . Streams [ 1 ] , "/remote.KV/StateChanges" , opts ... )
2021-07-01 15:35:06 +00:00
if err != nil {
return nil , err
}
2021-08-07 04:53:24 +00:00
x := & kVStateChangesClient { stream }
2021-07-01 15:35:06 +00:00
if err := x . ClientStream . SendMsg ( in ) ; err != nil {
return nil , err
}
if err := x . ClientStream . CloseSend ( ) ; err != nil {
return nil , err
}
return x , nil
}
2021-08-07 04:53:24 +00:00
type KV_StateChangesClient interface {
2021-09-17 02:56:04 +00:00
Recv ( ) ( * StateChangeBatch , error )
2021-07-01 15:35:06 +00:00
grpc . ClientStream
}
2021-08-07 04:53:24 +00:00
type kVStateChangesClient struct {
2021-07-01 15:35:06 +00:00
grpc . ClientStream
}
2021-09-17 02:56:04 +00:00
func ( x * kVStateChangesClient ) Recv ( ) ( * StateChangeBatch , error ) {
m := new ( StateChangeBatch )
2021-07-01 15:35:06 +00:00
if err := x . ClientStream . RecvMsg ( m ) ; err != nil {
return nil , err
}
return m , nil
}
2022-07-26 02:42:34 +00:00
func ( c * kVClient ) Snapshots ( ctx context . Context , in * SnapshotsRequest , opts ... grpc . CallOption ) ( * SnapshotsReply , error ) {
out := new ( SnapshotsReply )
err := c . cc . Invoke ( ctx , "/remote.KV/Snapshots" , in , out , opts ... )
2022-07-26 02:28:10 +00:00
if err != nil {
return nil , err
}
2022-07-26 02:42:34 +00:00
return out , nil
2022-07-26 02:28:10 +00:00
}
2021-07-01 15:35:06 +00:00
// KVServer is the server API for KV service.
// All implementations must embed UnimplementedKVServer
// for forward compatibility
type KVServer interface {
// Version returns the service version number
Version ( context . Context , * emptypb . Empty ) ( * types . VersionReply , error )
// Tx exposes read-only transactions for the key-value store
2021-09-15 06:11:34 +00:00
//
// When tx open, client must receive 1 message from server with txID
2021-09-26 12:47:11 +00:00
// When cursor open, client must receive 1 message from server with cursorID
2021-09-15 06:11:34 +00:00
// Then only client can initiate messages from server
2021-07-01 15:35:06 +00:00
Tx ( KV_TxServer ) error
2021-08-07 04:53:24 +00:00
StateChanges ( * StateChangeRequest , KV_StateChangesServer ) error
2022-07-26 02:28:10 +00:00
// Snapshots returns list of current snapshot files. Then client can just open all of them.
2022-07-26 02:42:34 +00:00
Snapshots ( context . Context , * SnapshotsRequest ) ( * SnapshotsReply , error )
2021-07-01 15:35:06 +00:00
mustEmbedUnimplementedKVServer ( )
}
// UnimplementedKVServer must be embedded to have forward compatible implementations.
type UnimplementedKVServer struct {
}
func ( UnimplementedKVServer ) Version ( context . Context , * emptypb . Empty ) ( * types . VersionReply , error ) {
return nil , status . Errorf ( codes . Unimplemented , "method Version not implemented" )
}
func ( UnimplementedKVServer ) Tx ( KV_TxServer ) error {
return status . Errorf ( codes . Unimplemented , "method Tx not implemented" )
}
2021-08-07 04:53:24 +00:00
func ( UnimplementedKVServer ) StateChanges ( * StateChangeRequest , KV_StateChangesServer ) error {
return status . Errorf ( codes . Unimplemented , "method StateChanges not implemented" )
2021-07-01 15:35:06 +00:00
}
2022-07-26 02:42:34 +00:00
func ( UnimplementedKVServer ) Snapshots ( context . Context , * SnapshotsRequest ) ( * SnapshotsReply , error ) {
return nil , status . Errorf ( codes . Unimplemented , "method Snapshots not implemented" )
2022-07-26 02:28:10 +00:00
}
2021-07-01 15:35:06 +00:00
func ( UnimplementedKVServer ) mustEmbedUnimplementedKVServer ( ) { }
// UnsafeKVServer may be embedded to opt out of forward compatibility for this service.
// Use of this interface is not recommended, as added methods to KVServer will
// result in compilation errors.
type UnsafeKVServer interface {
mustEmbedUnimplementedKVServer ( )
}
func RegisterKVServer ( s grpc . ServiceRegistrar , srv KVServer ) {
s . RegisterService ( & KV_ServiceDesc , srv )
}
func _KV_Version_Handler ( srv interface { } , ctx context . Context , dec func ( interface { } ) error , interceptor grpc . UnaryServerInterceptor ) ( interface { } , error ) {
in := new ( emptypb . Empty )
if err := dec ( in ) ; err != nil {
return nil , err
}
if interceptor == nil {
return srv . ( KVServer ) . Version ( ctx , in )
}
info := & grpc . UnaryServerInfo {
Server : srv ,
FullMethod : "/remote.KV/Version" ,
}
handler := func ( ctx context . Context , req interface { } ) ( interface { } , error ) {
return srv . ( KVServer ) . Version ( ctx , req . ( * emptypb . Empty ) )
}
return interceptor ( ctx , in , info , handler )
}
func _KV_Tx_Handler ( srv interface { } , stream grpc . ServerStream ) error {
return srv . ( KVServer ) . Tx ( & kVTxServer { stream } )
}
type KV_TxServer interface {
Send ( * Pair ) error
Recv ( ) ( * Cursor , error )
grpc . ServerStream
}
type kVTxServer struct {
grpc . ServerStream
}
func ( x * kVTxServer ) Send ( m * Pair ) error {
return x . ServerStream . SendMsg ( m )
}
func ( x * kVTxServer ) Recv ( ) ( * Cursor , error ) {
m := new ( Cursor )
if err := x . ServerStream . RecvMsg ( m ) ; err != nil {
return nil , err
}
return m , nil
}
2021-08-07 04:53:24 +00:00
func _KV_StateChanges_Handler ( srv interface { } , stream grpc . ServerStream ) error {
m := new ( StateChangeRequest )
2021-07-01 15:35:06 +00:00
if err := stream . RecvMsg ( m ) ; err != nil {
return err
}
2021-08-07 04:53:24 +00:00
return srv . ( KVServer ) . StateChanges ( m , & kVStateChangesServer { stream } )
2021-07-01 15:35:06 +00:00
}
2021-08-07 04:53:24 +00:00
type KV_StateChangesServer interface {
2021-09-17 02:56:04 +00:00
Send ( * StateChangeBatch ) error
2021-07-01 15:35:06 +00:00
grpc . ServerStream
}
2021-08-07 04:53:24 +00:00
type kVStateChangesServer struct {
2021-07-01 15:35:06 +00:00
grpc . ServerStream
}
2021-09-17 02:56:04 +00:00
func ( x * kVStateChangesServer ) Send ( m * StateChangeBatch ) error {
2021-07-01 15:35:06 +00:00
return x . ServerStream . SendMsg ( m )
}
2022-07-26 02:42:34 +00:00
func _KV_Snapshots_Handler ( srv interface { } , ctx context . Context , dec func ( interface { } ) error , interceptor grpc . UnaryServerInterceptor ) ( interface { } , error ) {
in := new ( SnapshotsRequest )
if err := dec ( in ) ; err != nil {
return nil , err
2022-07-26 02:28:10 +00:00
}
2022-07-26 02:42:34 +00:00
if interceptor == nil {
return srv . ( KVServer ) . Snapshots ( ctx , in )
}
info := & grpc . UnaryServerInfo {
Server : srv ,
FullMethod : "/remote.KV/Snapshots" ,
}
handler := func ( ctx context . Context , req interface { } ) ( interface { } , error ) {
return srv . ( KVServer ) . Snapshots ( ctx , req . ( * SnapshotsRequest ) )
}
return interceptor ( ctx , in , info , handler )
2022-07-26 02:28:10 +00:00
}
2021-07-01 15:35:06 +00:00
// KV_ServiceDesc is the grpc.ServiceDesc for KV service.
// It's only intended for direct use with grpc.RegisterService,
// and not to be introspected or modified (even as a copy)
var KV_ServiceDesc = grpc . ServiceDesc {
ServiceName : "remote.KV" ,
HandlerType : ( * KVServer ) ( nil ) ,
Methods : [ ] grpc . MethodDesc {
{
MethodName : "Version" ,
Handler : _KV_Version_Handler ,
} ,
2022-07-26 02:42:34 +00:00
{
MethodName : "Snapshots" ,
Handler : _KV_Snapshots_Handler ,
} ,
2021-07-01 15:35:06 +00:00
} ,
Streams : [ ] grpc . StreamDesc {
{
StreamName : "Tx" ,
Handler : _KV_Tx_Handler ,
ServerStreams : true ,
ClientStreams : true ,
} ,
{
2021-08-07 04:53:24 +00:00
StreamName : "StateChanges" ,
Handler : _KV_StateChanges_Handler ,
2021-07-01 15:35:06 +00:00
ServerStreams : true ,
} ,
} ,
Metadata : "remote/kv.proto" ,
}