Documentation
¶
Index ¶
- Variables
- func RegisterZorumsServiceServer(srv *gorums.Server, impl ZorumsService)
- type AsyncEmpty
- type AsyncMyResponse
- type AsyncResponse
- type Configuration
- func (c Configuration) And(d *Configuration) gorums.NodeListOption
- 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) Except(rm *Configuration) gorums.NodeListOption
- 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.RawConfiguration // contains filtered or unexported fields }
A Configuration represents a static set of nodes on which quorum remote procedure calls may be invoked.
func ConfigurationFromRaw ¶ added in v0.7.0
func ConfigurationFromRaw(rawCfg gorums.RawConfiguration, qspec QuorumSpec) *Configuration
ConfigurationFromRaw returns a new Configuration from the given raw configuration and QuorumSpec.
This function may for example be used to "clone" a configuration but install a different QuorumSpec:
cfg1, err := mgr.NewConfiguration(qspec1, opts...) cfg2 := ConfigurationFromRaw(cfg1.RawConfig, qspec2)
func (Configuration) And ¶ added in v0.4.0
func (c Configuration) And(d *Configuration) gorums.NodeListOption
And returns a NodeListOption that can be used to create a new configuration combining c and d.
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) Except ¶ added in v0.4.0
func (c Configuration) Except(rm *Configuration) gorums.NodeListOption
Except returns a NodeListOption that can be used to create a new configuration from c without the nodes in rm.
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.
NOTE: mutating the returned slice is not supported.
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 ¶
type Manager struct {
*gorums.RawManager
}
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(opts ...gorums.ConfigOption) (c *Configuration, err error)
NewConfiguration returns a configuration based on the provided list of nodes (required) and an optional quorum specification. The QuorumSpec is necessary for call types that must process replies. For configurations only used for unicast or multicast call types, a QuorumSpec is not needed. The QuorumSpec interface is also a ConfigOption. Nodes can be supplied using WithNodeMap or WithNodeList, or WithNodeIDs. A new configuration can also be created from an existing configuration, using the And, WithNewNodes, Except, and WithoutNodes methods.
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 ¶
Node encapsulates the state of a node on which a remote procedure call can be performed.
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 { gorums.ConfigOption // 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(ctx gorums.ServerCtx, request *Request) (response *Response, err error) QuorumCall(ctx gorums.ServerCtx, request *Request) (response *Response, err error) QuorumCallPerNodeArg(ctx gorums.ServerCtx, request *Request) (response *Response, err error) QuorumCallCustomReturnType(ctx gorums.ServerCtx, request *Request) (response *Response, err error) QuorumCallCombo(ctx gorums.ServerCtx, request *Request) (response *Response, err error) QuorumCallEmpty(ctx gorums.ServerCtx, request *emptypb.Empty) (response *Response, err error) QuorumCallEmpty2(ctx gorums.ServerCtx, request *Request) (response *emptypb.Empty, err error) Multicast(ctx gorums.ServerCtx, request *Request) MulticastPerNodeArg(ctx gorums.ServerCtx, request *Request) Multicast2(ctx gorums.ServerCtx, request *Request) Multicast3(ctx gorums.ServerCtx, request *Request) Multicast4(ctx gorums.ServerCtx, request *emptypb.Empty) QuorumCallAsync(ctx gorums.ServerCtx, request *Request) (response *Response, err error) QuorumCallAsyncPerNodeArg(ctx gorums.ServerCtx, request *Request) (response *Response, err error) QuorumCallAsyncCustomReturnType(ctx gorums.ServerCtx, request *Request) (response *Response, err error) QuorumCallAsyncCombo(ctx gorums.ServerCtx, request *Request) (response *Response, err error) QuorumCallAsync2(ctx gorums.ServerCtx, request *Request) (response *Response, err error) QuorumCallAsyncEmpty(ctx gorums.ServerCtx, request *Request) (response *emptypb.Empty, err error) QuorumCallAsyncEmpty2(ctx gorums.ServerCtx, request *emptypb.Empty) (response *Response, err error) Correctable(ctx gorums.ServerCtx, request *Request) (response *Response, err error) CorrectablePerNodeArg(ctx gorums.ServerCtx, request *Request) (response *Response, err error) CorrectableCustomReturnType(ctx gorums.ServerCtx, request *Request) (response *Response, err error) CorrectableCombo(ctx gorums.ServerCtx, request *Request) (response *Response, err error) CorrectableEmpty(ctx gorums.ServerCtx, request *Request) (response *emptypb.Empty, err error) CorrectableEmpty2(ctx gorums.ServerCtx, request *emptypb.Empty) (response *Response, err error) CorrectableStream(ctx gorums.ServerCtx, request *Request, send func(response *Response) error) error CorrectableStreamPerNodeArg(ctx gorums.ServerCtx, request *Request, send func(response *Response) error) error CorrectableStreamCustomReturnType(ctx gorums.ServerCtx, request *Request, send func(response *Response) error) error CorrectableStreamCombo(ctx gorums.ServerCtx, request *Request, send func(response *Response) error) error CorrectableStreamEmpty(ctx gorums.ServerCtx, request *Request, send func(response *emptypb.Empty) error) error CorrectableStreamEmpty2(ctx gorums.ServerCtx, request *emptypb.Empty, send func(response *Response) error) error Unicast(ctx gorums.ServerCtx, request *Request) Unicast2(ctx gorums.ServerCtx, request *Request) }
ZorumsService is the server-side API for the ZorumsService Service