forked from iotaledger/hive.go
/
events.go
32 lines (26 loc) · 992 Bytes
/
events.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
package discover
import (
"github.com/finderAUT/hive.go/v3/autopeering/peer"
"github.com/finderAUT/hive.go/v3/events"
)
// Events contains all the events that are triggered during the peer discovery.
type Events struct {
// A PeerDiscovered event is triggered, when a new peer has been discovered and verified.
PeerDiscovered *events.Event
// A PeerDeleted event is triggered, when a discovered and verified peer could not be re-verified.
PeerDeleted *events.Event
}
// DiscoveredEvent bundles the information of the discovered peer.
type DiscoveredEvent struct {
Peer *peer.Peer // discovered peer
}
// DeletedEvent bundles the information of the deleted peer.
type DeletedEvent struct {
Peer *peer.Peer // deleted peer
}
func peerDiscovered(handler interface{}, params ...interface{}) {
handler.(func(*DiscoveredEvent))(params[0].(*DiscoveredEvent))
}
func peerDeleted(handler interface{}, params ...interface{}) {
handler.(func(*DeletedEvent))(params[0].(*DeletedEvent))
}