diff --git a/p2p/ida/ida.go b/p2p/ida/ida.go new file mode 100644 index 000000000..788e1cbfd --- /dev/null +++ b/p2p/ida/ida.go @@ -0,0 +1,11 @@ +package ida + +// HarmonyIDA implements IDA interface. +type HarmonyIDA struct { + raptorQImp *RaptorQ +} + +// TakeRaptorQ takes RaptorQ implementation. +func (ida *HarmonyIDA) TakeRaptorQ(raptorQImp *RaptorQ) { + ida.raptorQImp = raptorQImp +} diff --git a/p2p/ida/interface.go b/p2p/ida/interface.go new file mode 100644 index 000000000..a1b6d9e67 --- /dev/null +++ b/p2p/ida/interface.go @@ -0,0 +1,22 @@ +package ida + +import ( + "github.com/simple-rules/harmony-benchmark/p2p" +) + +// Symbol is produced from a RaptorQ implementation. +type Symbol []byte + +// Message is type of general message gopssiped +type Message []byte + +// RaptorQ interface. +type RaptorQ interface { + Init() + Process(msg Message) chan Symbol +} + +// IDA interface. +type IDA interface { + Process(msg Message, peers []p2p.Peer, timeout int) +} diff --git a/proto/identity/identity.go b/proto/identity/identity.go index c676cce3d..4128548cf 100644 --- a/proto/identity/identity.go +++ b/proto/identity/identity.go @@ -27,6 +27,7 @@ const ( Register MessageType = iota Acknowledge Leader + IDCKey NodeInfo Peers ) @@ -37,6 +38,7 @@ func (msgType MessageType) String() string { "Register", "Acknowledge", "Leader", + "IDCKey", "NodeInfo", "Peers", }