Documentation ¶
Index ¶
- func GenerateNetworkingKey(s flow.Identifier) (crypto.PrivateKey, error)
- type ConduitSendWrapperFunc
- type ConduitWrapper
- func (c *ConduitWrapper) Multicast(msg interface{}, conduit network.Conduit, targetIDs ...flow.Identifier) error
- func (c *ConduitWrapper) Publish(msg interface{}, conduit network.Conduit, targetIDs ...flow.Identifier) error
- func (c *ConduitWrapper) Submit(msg interface{}, conduit network.Conduit, targetIDs ...flow.Identifier) error
- func (c *ConduitWrapper) Unicast(msg interface{}, conduit network.Conduit, targetIDs ...flow.Identifier) error
- type EchoEngine
- type MeshEngine
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func GenerateNetworkingKey ¶
func GenerateNetworkingKey(s flow.Identifier) (crypto.PrivateKey, error)
GenerateNetworkingKey generates a Flow ECDSA key using the given seed
Types ¶
type ConduitSendWrapperFunc ¶
type ConduitSendWrapperFunc func(msg interface{}, conduit network.Conduit, targetIDs ...flow.Identifier) error
ConduitSendWrapperFunc is a wrapper around the set of methods offered by the Conduit (e.g., Publish). This data type is solely introduced at the test level. Its primary purpose is to make the same test reusable on different Conduit methods.
type ConduitWrapper ¶
type ConduitWrapper struct{}
func (*ConduitWrapper) Multicast ¶
func (c *ConduitWrapper) Multicast(msg interface{}, conduit network.Conduit, targetIDs ...flow.Identifier) error
Multicast defines a function that receives a message, conduit of an engine instance, and a set of target ID. It then sends the message to the target IDs using the Multicast method of conduit.
func (*ConduitWrapper) Publish ¶
func (c *ConduitWrapper) Publish(msg interface{}, conduit network.Conduit, targetIDs ...flow.Identifier) error
Publish defines a function that receives a message, conduit of an engine instance, and a set target IDs. It then sends the message to the target IDs using the Publish method of conduit.
func (*ConduitWrapper) Submit ¶
func (c *ConduitWrapper) Submit(msg interface{}, conduit network.Conduit, targetIDs ...flow.Identifier) error
Submit defines a function that receives a message, conduit of an engine instance, and a set of target IDa. It then sends the message to the target IDs using the Submit method of conduit.
func (*ConduitWrapper) Unicast ¶
func (c *ConduitWrapper) Unicast(msg interface{}, conduit network.Conduit, targetIDs ...flow.Identifier) error
Unicast defines a function that receives a message, conduit of an engine instance, and a set of target IDs. It then sends the message to the target IDs using individual Unicasts to each target in the underlying network.
type EchoEngine ¶
EchoEngine is a simple engine that is used for testing the correctness of driving the engines with libp2p, in addition to receiving and storing incoming messages it also echos them back
func NewEchoEngine ¶
func NewEchoEngine(t *testing.T, net module.Network, cap int, engineID string, echo bool, send ConduitSendWrapperFunc) *EchoEngine
func (*EchoEngine) Process ¶
func (te *EchoEngine) Process(originID flow.Identifier, event interface{}) error
Process receives an originID and an event and casts them into the corresponding fields of the EchoEngine. It then flags the received channel on reception of an event. It also sends back an echo of the message to the origin ID
func (*EchoEngine) ProcessLocal ¶
func (te *EchoEngine) ProcessLocal(event interface{}) error
ProcessLocal is implemented for a valid type assertion to Engine any call to it fails the test
func (*EchoEngine) Submit ¶
func (te *EchoEngine) Submit(originID flow.Identifier, event interface{})
Submit is implemented for a valid type assertion to Engine any call to it fails the test
func (*EchoEngine) SubmitLocal ¶
func (te *EchoEngine) SubmitLocal(event interface{})
SubmitLocal is implemented for a valid type assertion to Engine any call to it fails the test
type MeshEngine ¶
type MeshEngine struct {
// contains filtered or unexported fields
}
MeshEngine is a simple engine that is used for testing the correctness of driving the engines with libp2p, it simply receives and stores the incoming messages
func NewMeshEngine ¶
func (*MeshEngine) Process ¶
func (e *MeshEngine) Process(originID flow.Identifier, event interface{}) error
Process receives an originID and an event and casts them into the corresponding fields of the MeshEngine. It then flags the received channel on reception of an event.
func (*MeshEngine) ProcessLocal ¶
func (e *MeshEngine) ProcessLocal(event interface{}) error
ProcessLocal is implemented for a valid type assertion to Engine any call to it fails the test
func (*MeshEngine) Submit ¶
func (e *MeshEngine) Submit(originID flow.Identifier, event interface{})
Submit is implemented for a valid type assertion to Engine any call to it fails the test
func (*MeshEngine) SubmitLocal ¶
func (e *MeshEngine) SubmitLocal(event interface{})
SubmitLocal is implemented for a valid type assertion to Engine any call to it fails the test