Documentation
¶
Index ¶
- Variables
- func RegisterZorumsServiceServer(srv *gorums.Server, impl ZorumsService)
- type AsyncEmpty
- type AsyncMyResponse
- type AsyncResponse
- type Configuration
- func (c *Configuration) Correctable(ctx context.Context, in *Request) *CorrectableResponse
- func (c *Configuration) CorrectableCombo(ctx context.Context, in *Request, f func(*Request, uint32) *Request) *CorrectableMyResponse
- func (c *Configuration) CorrectableCustomReturnType(ctx context.Context, in *Request) *CorrectableMyResponse
- func (c *Configuration) CorrectableEmpty(ctx context.Context, in *Request) *CorrectableEmpty
- func (c *Configuration) CorrectableEmpty2(ctx context.Context, in *emptypb.Empty) *CorrectableResponse
- func (c *Configuration) CorrectablePerNodeArg(ctx context.Context, in *Request, f func(*Request, uint32) *Request) *CorrectableResponse
- func (c *Configuration) CorrectableStream(ctx context.Context, in *Request) *CorrectableStreamResponse
- func (c *Configuration) CorrectableStreamCombo(ctx context.Context, in *Request, f func(*Request, uint32) *Request) *CorrectableStreamMyResponse
- func (c *Configuration) CorrectableStreamCustomReturnType(ctx context.Context, in *Request) *CorrectableStreamMyResponse
- func (c *Configuration) CorrectableStreamEmpty(ctx context.Context, in *Request) *CorrectableStreamEmpty
- func (c *Configuration) CorrectableStreamEmpty2(ctx context.Context, in *emptypb.Empty) *CorrectableStreamResponse
- func (c *Configuration) CorrectableStreamPerNodeArg(ctx context.Context, in *Request, f func(*Request, uint32) *Request) *CorrectableStreamResponse
- func (c *Configuration) Multicast(ctx context.Context, in *Request, opts ...gorums.CallOption)
- func (c *Configuration) Multicast2(ctx context.Context, in *Request, opts ...gorums.CallOption)
- func (c *Configuration) Multicast3(ctx context.Context, in *Request, opts ...gorums.CallOption)
- func (c *Configuration) Multicast4(ctx context.Context, in *emptypb.Empty, opts ...gorums.CallOption)
- func (c *Configuration) MulticastPerNodeArg(ctx context.Context, in *Request, f func(*Request, uint32) *Request, ...)
- func (c *Configuration) Nodes() []*Node
- func (c *Configuration) QuorumCall(ctx context.Context, in *Request) (resp *Response, err error)
- func (c *Configuration) QuorumCallAsync(ctx context.Context, in *Request) *AsyncResponse
- func (c *Configuration) QuorumCallAsync2(ctx context.Context, in *Request) *AsyncResponse
- func (c *Configuration) QuorumCallAsyncCombo(ctx context.Context, in *Request, f func(*Request, uint32) *Request) *AsyncMyResponse
- func (c *Configuration) QuorumCallAsyncCustomReturnType(ctx context.Context, in *Request) *AsyncMyResponse
- func (c *Configuration) QuorumCallAsyncEmpty(ctx context.Context, in *Request) *AsyncEmpty
- func (c *Configuration) QuorumCallAsyncEmpty2(ctx context.Context, in *emptypb.Empty) *AsyncResponse
- func (c *Configuration) QuorumCallAsyncPerNodeArg(ctx context.Context, in *Request, f func(*Request, uint32) *Request) *AsyncResponse
- func (c *Configuration) QuorumCallCombo(ctx context.Context, in *Request, f func(*Request, uint32) *Request) (resp *MyResponse, err error)
- func (c *Configuration) QuorumCallCustomReturnType(ctx context.Context, in *Request) (resp *MyResponse, err error)
- func (c *Configuration) QuorumCallEmpty(ctx context.Context, in *emptypb.Empty) (resp *Response, err error)
- func (c *Configuration) QuorumCallEmpty2(ctx context.Context, in *Request) (resp *emptypb.Empty, err error)
- func (c *Configuration) QuorumCallPerNodeArg(ctx context.Context, in *Request, f func(*Request, uint32) *Request) (resp *Response, err error)
- type CorrectableEmpty
- type CorrectableMyResponse
- type CorrectableResponse
- type CorrectableStreamEmpty
- type CorrectableStreamMyResponse
- type CorrectableStreamResponse
- type Manager
- type MyResponse
- type Node
- type QuorumSpec
- type Request
- type Response
- type ZorumsService
Constants ¶
This section is empty.
Variables ¶
var File_zorums_proto protoreflect.FileDescriptor
Functions ¶
func RegisterZorumsServiceServer ¶
func RegisterZorumsServiceServer(srv *gorums.Server, impl ZorumsService)
Types ¶
type AsyncEmpty ¶ added in v0.3.0
AsyncEmpty is a async object for processing replies.
type AsyncMyResponse ¶ added in v0.3.0
AsyncMyResponse is a async object for processing replies.
func (*AsyncMyResponse) Get ¶ added in v0.3.0
func (f *AsyncMyResponse) Get() (*MyResponse, error)
Get returns the reply and any error associated with the called method. The method blocks until a reply or error is available.
type AsyncResponse ¶ added in v0.3.0
AsyncResponse is a async object for processing replies.
func (*AsyncResponse) Get ¶ added in v0.3.0
func (f *AsyncResponse) Get() (*Response, error)
Get returns the reply and any error associated with the called method. The method blocks until a reply or error is available.
type Configuration ¶
type Configuration struct {
gorums.Configuration
// contains filtered or unexported fields
}
A Configuration represents a static set of nodes on which quorum remote procedure calls may be invoked.
func (*Configuration) Correctable ¶
func (c *Configuration) Correctable(ctx context.Context, in *Request) *CorrectableResponse
Correctable plain.
func (*Configuration) CorrectableCombo ¶
func (c *Configuration) CorrectableCombo(ctx context.Context, in *Request, f func(*Request, uint32) *Request) *CorrectableMyResponse
CorrectableCombo with all supported options.
func (*Configuration) CorrectableCustomReturnType ¶
func (c *Configuration) CorrectableCustomReturnType(ctx context.Context, in *Request) *CorrectableMyResponse
CorrectableCustomReturnType with custom_return_type option.
func (*Configuration) CorrectableEmpty ¶
func (c *Configuration) CorrectableEmpty(ctx context.Context, in *Request) *CorrectableEmpty
CorrectableEmpty for testing imported message type.
func (*Configuration) CorrectableEmpty2 ¶
func (c *Configuration) CorrectableEmpty2(ctx context.Context, in *emptypb.Empty) *CorrectableResponse
CorrectableEmpty2 for testing imported message type; with same return type as Correctable: Response.
func (*Configuration) CorrectablePerNodeArg ¶
func (c *Configuration) CorrectablePerNodeArg(ctx context.Context, in *Request, f func(*Request, uint32) *Request) *CorrectableResponse
CorrectablePerNodeArg with per_node_arg option.
func (*Configuration) CorrectableStream ¶
func (c *Configuration) CorrectableStream(ctx context.Context, in *Request) *CorrectableStreamResponse
CorrectableStream plain.
func (*Configuration) CorrectableStreamCombo ¶
func (c *Configuration) CorrectableStreamCombo(ctx context.Context, in *Request, f func(*Request, uint32) *Request) *CorrectableStreamMyResponse
CorrectableCombo with all supported options.
func (*Configuration) CorrectableStreamCustomReturnType ¶
func (c *Configuration) CorrectableStreamCustomReturnType(ctx context.Context, in *Request) *CorrectableStreamMyResponse
CorrectableCustomReturnType with custom_return_type option.
func (*Configuration) CorrectableStreamEmpty ¶
func (c *Configuration) CorrectableStreamEmpty(ctx context.Context, in *Request) *CorrectableStreamEmpty
CorrectableEmpty for testing imported message type.
func (*Configuration) CorrectableStreamEmpty2 ¶
func (c *Configuration) CorrectableStreamEmpty2(ctx context.Context, in *emptypb.Empty) *CorrectableStreamResponse
CorrectableEmpty2 for testing imported message type; with same return type as Correctable: Response.
func (*Configuration) CorrectableStreamPerNodeArg ¶
func (c *Configuration) CorrectableStreamPerNodeArg(ctx context.Context, in *Request, f func(*Request, uint32) *Request) *CorrectableStreamResponse
CorrectablePerNodeArg with per_node_arg option.
func (*Configuration) Multicast ¶
func (c *Configuration) Multicast(ctx context.Context, in *Request, opts ...gorums.CallOption)
Multicast plain. Response type is not needed here.
func (*Configuration) Multicast2 ¶
func (c *Configuration) Multicast2(ctx context.Context, in *Request, opts ...gorums.CallOption)
Multicast2 is testing whether multiple streams work.
func (*Configuration) Multicast3 ¶
func (c *Configuration) Multicast3(ctx context.Context, in *Request, opts ...gorums.CallOption)
Multicast3 is testing imported message type.
func (*Configuration) Multicast4 ¶
func (c *Configuration) Multicast4(ctx context.Context, in *emptypb.Empty, opts ...gorums.CallOption)
Multicast4 is testing imported message type.
func (*Configuration) MulticastPerNodeArg ¶
func (c *Configuration) MulticastPerNodeArg(ctx context.Context, in *Request, f func(*Request, uint32) *Request, opts ...gorums.CallOption)
MulticastPerNodeArg with per_node_arg option.
func (*Configuration) Nodes ¶
func (c *Configuration) Nodes() []*Node
Nodes returns a slice of each available node. IDs are returned in the same order as they were provided in the creation of the Manager.
func (*Configuration) QuorumCall ¶
QuorumCall plain.
func (*Configuration) QuorumCallAsync ¶ added in v0.3.0
func (c *Configuration) QuorumCallAsync(ctx context.Context, in *Request) *AsyncResponse
QuorumCallAsync plain.
func (*Configuration) QuorumCallAsync2 ¶ added in v0.3.0
func (c *Configuration) QuorumCallAsync2(ctx context.Context, in *Request) *AsyncResponse
QuorumCallAsync2 plain; with same return type: Response.
func (*Configuration) QuorumCallAsyncCombo ¶ added in v0.3.0
func (c *Configuration) QuorumCallAsyncCombo(ctx context.Context, in *Request, f func(*Request, uint32) *Request) *AsyncMyResponse
QuorumCallAsyncCombo with all supported options.
func (*Configuration) QuorumCallAsyncCustomReturnType ¶ added in v0.3.0
func (c *Configuration) QuorumCallAsyncCustomReturnType(ctx context.Context, in *Request) *AsyncMyResponse
QuorumCallAsyncCustomReturnType with custom_return_type option.
func (*Configuration) QuorumCallAsyncEmpty ¶ added in v0.3.0
func (c *Configuration) QuorumCallAsyncEmpty(ctx context.Context, in *Request) *AsyncEmpty
QuorumCallAsyncEmpty for testing imported message type.
func (*Configuration) QuorumCallAsyncEmpty2 ¶ added in v0.3.0
func (c *Configuration) QuorumCallAsyncEmpty2(ctx context.Context, in *emptypb.Empty) *AsyncResponse
QuorumCallAsyncEmpty2 for testing imported message type; with same return type as QuorumCallAsync: Response.
func (*Configuration) QuorumCallAsyncPerNodeArg ¶ added in v0.3.0
func (c *Configuration) QuorumCallAsyncPerNodeArg(ctx context.Context, in *Request, f func(*Request, uint32) *Request) *AsyncResponse
QuorumCallAsyncPerNodeArg with per_node_arg option.
func (*Configuration) QuorumCallCombo ¶
func (c *Configuration) QuorumCallCombo(ctx context.Context, in *Request, f func(*Request, uint32) *Request) (resp *MyResponse, err error)
QuorumCallCombo with all supported options.
func (*Configuration) QuorumCallCustomReturnType ¶
func (c *Configuration) QuorumCallCustomReturnType(ctx context.Context, in *Request) (resp *MyResponse, err error)
QuorumCall with custom_return_type option.
func (*Configuration) QuorumCallEmpty ¶
func (c *Configuration) QuorumCallEmpty(ctx context.Context, in *emptypb.Empty) (resp *Response, err error)
QuorumCallEmpty for testing imported message type.
func (*Configuration) QuorumCallEmpty2 ¶
func (c *Configuration) QuorumCallEmpty2(ctx context.Context, in *Request) (resp *emptypb.Empty, err error)
QuorumCallEmpty2 for testing imported message type.
type CorrectableEmpty ¶
type CorrectableEmpty struct {
*gorums.Correctable
}
CorrectableEmpty is a correctable object for processing replies.
func (*CorrectableEmpty) Get ¶
func (c *CorrectableEmpty) Get() (*emptypb.Empty, int, error)
Get returns the reply, level and any error associated with the called method. The method does not block until a (possibly intermediate) reply or error is available. Level is set to LevelNotSet if no reply has yet been received. The Done or Watch methods should be used to ensure that a reply is available.
type CorrectableMyResponse ¶
type CorrectableMyResponse struct {
*gorums.Correctable
}
CorrectableMyResponse is a correctable object for processing replies.
func (*CorrectableMyResponse) Get ¶
func (c *CorrectableMyResponse) Get() (*MyResponse, int, error)
Get returns the reply, level and any error associated with the called method. The method does not block until a (possibly intermediate) reply or error is available. Level is set to LevelNotSet if no reply has yet been received. The Done or Watch methods should be used to ensure that a reply is available.
type CorrectableResponse ¶
type CorrectableResponse struct {
*gorums.Correctable
}
CorrectableResponse is a correctable object for processing replies.
func (*CorrectableResponse) Get ¶
func (c *CorrectableResponse) Get() (*Response, int, error)
Get returns the reply, level and any error associated with the called method. The method does not block until a (possibly intermediate) reply or error is available. Level is set to LevelNotSet if no reply has yet been received. The Done or Watch methods should be used to ensure that a reply is available.
type CorrectableStreamEmpty ¶
type CorrectableStreamEmpty struct {
*gorums.Correctable
}
CorrectableStreamEmpty is a correctable object for processing replies.
func (*CorrectableStreamEmpty) Get ¶
func (c *CorrectableStreamEmpty) Get() (*emptypb.Empty, int, error)
Get returns the reply, level and any error associated with the called method. The method does not block until a (possibly intermediate) reply or error is available. Level is set to LevelNotSet if no reply has yet been received. The Done or Watch methods should be used to ensure that a reply is available.
type CorrectableStreamMyResponse ¶
type CorrectableStreamMyResponse struct {
*gorums.Correctable
}
CorrectableStreamMyResponse is a correctable object for processing replies.
func (*CorrectableStreamMyResponse) Get ¶
func (c *CorrectableStreamMyResponse) Get() (*MyResponse, int, error)
Get returns the reply, level and any error associated with the called method. The method does not block until a (possibly intermediate) reply or error is available. Level is set to LevelNotSet if no reply has yet been received. The Done or Watch methods should be used to ensure that a reply is available.
type CorrectableStreamResponse ¶
type CorrectableStreamResponse struct {
*gorums.Correctable
}
CorrectableStreamResponse is a correctable object for processing replies.
func (*CorrectableStreamResponse) Get ¶
func (c *CorrectableStreamResponse) Get() (*Response, int, error)
Get returns the reply, level and any error associated with the called method. The method does not block until a (possibly intermediate) reply or error is available. Level is set to LevelNotSet if no reply has yet been received. The Done or Watch methods should be used to ensure that a reply is available.
type Manager ¶
Manager maintains a connection pool of nodes on which quorum calls can be performed.
func NewManager ¶
func NewManager(opts ...gorums.ManagerOption) (mgr *Manager)
NewManager returns a new Manager for managing connection to nodes added to the manager. This function accepts manager options used to configure various aspects of the manager.
func (*Manager) NewConfiguration ¶
func (m *Manager) NewConfiguration(qspec QuorumSpec, opts ...gorums.ConfigOption) (c *Configuration, err error)
NewConfiguration returns a configuration based on the provided list of nodes. Nodes can be supplied using WithNodeMap or WithNodeList or WithNodeIDs.
type MyResponse ¶
type MyResponse struct {
Value string `protobuf:"bytes,1,opt,name=Value,proto3" json:"Value,omitempty"`
// contains filtered or unexported fields
}
func (*MyResponse) Descriptor
deprecated
func (*MyResponse) Descriptor() ([]byte, []int)
Deprecated: Use MyResponse.ProtoReflect.Descriptor instead.
func (*MyResponse) GetValue ¶
func (x *MyResponse) GetValue() string
func (*MyResponse) ProtoMessage ¶
func (*MyResponse) ProtoMessage()
func (*MyResponse) ProtoReflect ¶
func (x *MyResponse) ProtoReflect() protoreflect.Message
func (*MyResponse) Reset ¶
func (x *MyResponse) Reset()
func (*MyResponse) String ¶
func (x *MyResponse) String() string
type Node ¶
func (*Node) GRPCCall ¶ added in v0.3.0
GRPCCall plain gRPC call; testing that Gorums can ignore these, but that they are added to the _grpc.pb.go generated file.
type QuorumSpec ¶
type QuorumSpec interface {
// QuorumCallQF is the quorum function for the QuorumCall
// quorum call method. The in parameter is the request object
// supplied to the QuorumCall method at call time, and may or may not
// be used by the quorum function. If the in parameter is not needed
// you should implement your quorum function with '_ *Request'.
QuorumCallQF(in *Request, replies map[uint32]*Response) (*Response, bool)
// QuorumCallPerNodeArgQF is the quorum function for the QuorumCallPerNodeArg
// quorum call method. The in parameter is the request object
// supplied to the QuorumCallPerNodeArg method at call time, and may or may not
// be used by the quorum function. If the in parameter is not needed
// you should implement your quorum function with '_ *Request'.
QuorumCallPerNodeArgQF(in *Request, replies map[uint32]*Response) (*Response, bool)
// QuorumCallCustomReturnTypeQF is the quorum function for the QuorumCallCustomReturnType
// quorum call method. The in parameter is the request object
// supplied to the QuorumCallCustomReturnType method at call time, and may or may not
// be used by the quorum function. If the in parameter is not needed
// you should implement your quorum function with '_ *Request'.
QuorumCallCustomReturnTypeQF(in *Request, replies map[uint32]*Response) (*MyResponse, bool)
// QuorumCallComboQF is the quorum function for the QuorumCallCombo
// quorum call method. The in parameter is the request object
// supplied to the QuorumCallCombo method at call time, and may or may not
// be used by the quorum function. If the in parameter is not needed
// you should implement your quorum function with '_ *Request'.
QuorumCallComboQF(in *Request, replies map[uint32]*Response) (*MyResponse, bool)
// QuorumCallEmptyQF is the quorum function for the QuorumCallEmpty
// quorum call method. The in parameter is the request object
// supplied to the QuorumCallEmpty method at call time, and may or may not
// be used by the quorum function. If the in parameter is not needed
// you should implement your quorum function with '_ *emptypb.Empty'.
QuorumCallEmptyQF(in *emptypb.Empty, replies map[uint32]*Response) (*Response, bool)
// QuorumCallEmpty2QF is the quorum function for the QuorumCallEmpty2
// quorum call method. The in parameter is the request object
// supplied to the QuorumCallEmpty2 method at call time, and may or may not
// be used by the quorum function. If the in parameter is not needed
// you should implement your quorum function with '_ *Request'.
QuorumCallEmpty2QF(in *Request, replies map[uint32]*emptypb.Empty) (*emptypb.Empty, bool)
// QuorumCallAsyncQF is the quorum function for the QuorumCallAsync
// asynchronous quorum call method. The in parameter is the request object
// supplied to the QuorumCallAsync method at call time, and may or may not
// be used by the quorum function. If the in parameter is not needed
// you should implement your quorum function with '_ *Request'.
QuorumCallAsyncQF(in *Request, replies map[uint32]*Response) (*Response, bool)
// QuorumCallAsyncPerNodeArgQF is the quorum function for the QuorumCallAsyncPerNodeArg
// asynchronous quorum call method. The in parameter is the request object
// supplied to the QuorumCallAsyncPerNodeArg method at call time, and may or may not
// be used by the quorum function. If the in parameter is not needed
// you should implement your quorum function with '_ *Request'.
QuorumCallAsyncPerNodeArgQF(in *Request, replies map[uint32]*Response) (*Response, bool)
// QuorumCallAsyncCustomReturnTypeQF is the quorum function for the QuorumCallAsyncCustomReturnType
// asynchronous quorum call method. The in parameter is the request object
// supplied to the QuorumCallAsyncCustomReturnType method at call time, and may or may not
// be used by the quorum function. If the in parameter is not needed
// you should implement your quorum function with '_ *Request'.
QuorumCallAsyncCustomReturnTypeQF(in *Request, replies map[uint32]*Response) (*MyResponse, bool)
// QuorumCallAsyncComboQF is the quorum function for the QuorumCallAsyncCombo
// asynchronous quorum call method. The in parameter is the request object
// supplied to the QuorumCallAsyncCombo method at call time, and may or may not
// be used by the quorum function. If the in parameter is not needed
// you should implement your quorum function with '_ *Request'.
QuorumCallAsyncComboQF(in *Request, replies map[uint32]*Response) (*MyResponse, bool)
// QuorumCallAsync2QF is the quorum function for the QuorumCallAsync2
// asynchronous quorum call method. The in parameter is the request object
// supplied to the QuorumCallAsync2 method at call time, and may or may not
// be used by the quorum function. If the in parameter is not needed
// you should implement your quorum function with '_ *Request'.
QuorumCallAsync2QF(in *Request, replies map[uint32]*Response) (*Response, bool)
// QuorumCallAsyncEmptyQF is the quorum function for the QuorumCallAsyncEmpty
// asynchronous quorum call method. The in parameter is the request object
// supplied to the QuorumCallAsyncEmpty method at call time, and may or may not
// be used by the quorum function. If the in parameter is not needed
// you should implement your quorum function with '_ *Request'.
QuorumCallAsyncEmptyQF(in *Request, replies map[uint32]*emptypb.Empty) (*emptypb.Empty, bool)
// QuorumCallAsyncEmpty2QF is the quorum function for the QuorumCallAsyncEmpty2
// asynchronous quorum call method. The in parameter is the request object
// supplied to the QuorumCallAsyncEmpty2 method at call time, and may or may not
// be used by the quorum function. If the in parameter is not needed
// you should implement your quorum function with '_ *emptypb.Empty'.
QuorumCallAsyncEmpty2QF(in *emptypb.Empty, replies map[uint32]*Response) (*Response, bool)
// CorrectableQF is the quorum function for the Correctable
// correctable quorum call method. The in parameter is the request object
// supplied to the Correctable method at call time, and may or may not
// be used by the quorum function. If the in parameter is not needed
// you should implement your quorum function with '_ *Request'.
CorrectableQF(in *Request, replies map[uint32]*Response) (*Response, int, bool)
// CorrectablePerNodeArgQF is the quorum function for the CorrectablePerNodeArg
// correctable quorum call method. The in parameter is the request object
// supplied to the CorrectablePerNodeArg method at call time, and may or may not
// be used by the quorum function. If the in parameter is not needed
// you should implement your quorum function with '_ *Request'.
CorrectablePerNodeArgQF(in *Request, replies map[uint32]*Response) (*Response, int, bool)
// CorrectableCustomReturnTypeQF is the quorum function for the CorrectableCustomReturnType
// correctable quorum call method. The in parameter is the request object
// supplied to the CorrectableCustomReturnType method at call time, and may or may not
// be used by the quorum function. If the in parameter is not needed
// you should implement your quorum function with '_ *Request'.
CorrectableCustomReturnTypeQF(in *Request, replies map[uint32]*Response) (*MyResponse, int, bool)
// CorrectableComboQF is the quorum function for the CorrectableCombo
// correctable quorum call method. The in parameter is the request object
// supplied to the CorrectableCombo method at call time, and may or may not
// be used by the quorum function. If the in parameter is not needed
// you should implement your quorum function with '_ *Request'.
CorrectableComboQF(in *Request, replies map[uint32]*Response) (*MyResponse, int, bool)
// CorrectableEmptyQF is the quorum function for the CorrectableEmpty
// correctable quorum call method. The in parameter is the request object
// supplied to the CorrectableEmpty method at call time, and may or may not
// be used by the quorum function. If the in parameter is not needed
// you should implement your quorum function with '_ *Request'.
CorrectableEmptyQF(in *Request, replies map[uint32]*emptypb.Empty) (*emptypb.Empty, int, bool)
// CorrectableEmpty2QF is the quorum function for the CorrectableEmpty2
// correctable quorum call method. The in parameter is the request object
// supplied to the CorrectableEmpty2 method at call time, and may or may not
// be used by the quorum function. If the in parameter is not needed
// you should implement your quorum function with '_ *emptypb.Empty'.
CorrectableEmpty2QF(in *emptypb.Empty, replies map[uint32]*Response) (*Response, int, bool)
// CorrectableStreamQF is the quorum function for the CorrectableStream
// correctable stream quorum call method. The in parameter is the request object
// supplied to the CorrectableStream method at call time, and may or may not
// be used by the quorum function. If the in parameter is not needed
// you should implement your quorum function with '_ *Request'.
CorrectableStreamQF(in *Request, replies map[uint32]*Response) (*Response, int, bool)
// CorrectableStreamPerNodeArgQF is the quorum function for the CorrectableStreamPerNodeArg
// correctable stream quorum call method. The in parameter is the request object
// supplied to the CorrectableStreamPerNodeArg method at call time, and may or may not
// be used by the quorum function. If the in parameter is not needed
// you should implement your quorum function with '_ *Request'.
CorrectableStreamPerNodeArgQF(in *Request, replies map[uint32]*Response) (*Response, int, bool)
// CorrectableStreamCustomReturnTypeQF is the quorum function for the CorrectableStreamCustomReturnType
// correctable stream quorum call method. The in parameter is the request object
// supplied to the CorrectableStreamCustomReturnType method at call time, and may or may not
// be used by the quorum function. If the in parameter is not needed
// you should implement your quorum function with '_ *Request'.
CorrectableStreamCustomReturnTypeQF(in *Request, replies map[uint32]*Response) (*MyResponse, int, bool)
// CorrectableStreamComboQF is the quorum function for the CorrectableStreamCombo
// correctable stream quorum call method. The in parameter is the request object
// supplied to the CorrectableStreamCombo method at call time, and may or may not
// be used by the quorum function. If the in parameter is not needed
// you should implement your quorum function with '_ *Request'.
CorrectableStreamComboQF(in *Request, replies map[uint32]*Response) (*MyResponse, int, bool)
// CorrectableStreamEmptyQF is the quorum function for the CorrectableStreamEmpty
// correctable stream quorum call method. The in parameter is the request object
// supplied to the CorrectableStreamEmpty method at call time, and may or may not
// be used by the quorum function. If the in parameter is not needed
// you should implement your quorum function with '_ *Request'.
CorrectableStreamEmptyQF(in *Request, replies map[uint32]*emptypb.Empty) (*emptypb.Empty, int, bool)
// CorrectableStreamEmpty2QF is the quorum function for the CorrectableStreamEmpty2
// correctable stream quorum call method. The in parameter is the request object
// supplied to the CorrectableStreamEmpty2 method at call time, and may or may not
// be used by the quorum function. If the in parameter is not needed
// you should implement your quorum function with '_ *emptypb.Empty'.
CorrectableStreamEmpty2QF(in *emptypb.Empty, replies map[uint32]*Response) (*Response, int, bool)
}
QuorumSpec is the interface of quorum functions for ZorumsService.
type Request ¶
type Request struct {
Value string `protobuf:"bytes,1,opt,name=Value,proto3" json:"Value,omitempty"`
// contains filtered or unexported fields
}
func (*Request) Descriptor
deprecated
func (*Request) ProtoMessage ¶
func (*Request) ProtoMessage()
func (*Request) ProtoReflect ¶
func (x *Request) ProtoReflect() protoreflect.Message
type Response ¶
type Response struct {
Result int64 `protobuf:"varint,1,opt,name=Result,proto3" json:"Result,omitempty"`
// contains filtered or unexported fields
}
func (*Response) Descriptor
deprecated
func (*Response) ProtoMessage ¶
func (*Response) ProtoMessage()
func (*Response) ProtoReflect ¶
func (x *Response) ProtoReflect() protoreflect.Message
type ZorumsService ¶
type ZorumsService interface {
GRPCCall(context.Context, *Request, func(*Response, error))
QuorumCall(context.Context, *Request, func(*Response, error))
QuorumCallPerNodeArg(context.Context, *Request, func(*Response, error))
QuorumCallCustomReturnType(context.Context, *Request, func(*Response, error))
QuorumCallCombo(context.Context, *Request, func(*Response, error))
QuorumCallEmpty(context.Context, *emptypb.Empty, func(*Response, error))
QuorumCallEmpty2(context.Context, *Request, func(*emptypb.Empty, error))
Multicast(context.Context, *Request)
MulticastPerNodeArg(context.Context, *Request)
Multicast2(context.Context, *Request)
Multicast3(context.Context, *Request)
Multicast4(context.Context, *emptypb.Empty)
QuorumCallAsync(context.Context, *Request, func(*Response, error))
QuorumCallAsyncPerNodeArg(context.Context, *Request, func(*Response, error))
QuorumCallAsyncCustomReturnType(context.Context, *Request, func(*Response, error))
QuorumCallAsyncCombo(context.Context, *Request, func(*Response, error))
QuorumCallAsync2(context.Context, *Request, func(*Response, error))
QuorumCallAsyncEmpty(context.Context, *Request, func(*emptypb.Empty, error))
QuorumCallAsyncEmpty2(context.Context, *emptypb.Empty, func(*Response, error))
Correctable(context.Context, *Request, func(*Response, error))
CorrectablePerNodeArg(context.Context, *Request, func(*Response, error))
CorrectableCustomReturnType(context.Context, *Request, func(*Response, error))
CorrectableCombo(context.Context, *Request, func(*Response, error))
CorrectableEmpty(context.Context, *Request, func(*emptypb.Empty, error))
CorrectableEmpty2(context.Context, *emptypb.Empty, func(*Response, error))
CorrectableStream(context.Context, *Request, func(*Response, error))
CorrectableStreamPerNodeArg(context.Context, *Request, func(*Response, error))
CorrectableStreamCustomReturnType(context.Context, *Request, func(*Response, error))
CorrectableStreamCombo(context.Context, *Request, func(*Response, error))
CorrectableStreamEmpty(context.Context, *Request, func(*emptypb.Empty, error))
CorrectableStreamEmpty2(context.Context, *emptypb.Empty, func(*Response, error))
Unicast(context.Context, *Request)
Unicast2(context.Context, *Request)
}
ZorumsService is the server-side API for the ZorumsService Service