mirror of
https://github.com/logos-storage/swarmsim.git
synced 2026-01-03 14:23:08 +00:00
31 lines
642 B
Nim
31 lines
642 B
Nim
import std/options
|
|
|
|
import swarmsim/engine
|
|
import swarmsim/engine/peer
|
|
|
|
import ./inbox
|
|
|
|
type TestPeer* = ref object of Peer
|
|
network: Network
|
|
|
|
proc new*(
|
|
t: typedesc[TestPeer],
|
|
network: Network,
|
|
peerId: Option[int] = none(int),
|
|
): TestPeer =
|
|
let peer: TestPeer = TestPeer(network: network)
|
|
discard peer.initPeer(
|
|
protocols = @[Protocol Inbox(
|
|
protocolId: Inbox.typeId,
|
|
messageTypes: @["*"]
|
|
)
|
|
])
|
|
peer
|
|
|
|
proc inbox*(peer: TestPeer): Inbox =
|
|
Inbox peer.getProtocol(Inbox.typeId).get()
|
|
|
|
proc send*(self: TestPeer, msg: Message): ScheduledEvent =
|
|
msg.sender = Peer(self).some
|
|
self.network.send(msg)
|