diff options
Diffstat (limited to 'src/net/peerdisc.c')
-rw-r--r-- | src/net/peerdisc.c | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/src/net/peerdisc.c b/src/net/peerdisc.c index 4c3cd2ea..20ac2427 100644 --- a/src/net/peerdisc.c +++ b/src/net/peerdisc.c @@ -78,6 +78,36 @@ static int peerdisc_discovered ( struct peerdisc_segment *segment, /****************************************************************************** * + * Statistics reporting + * + ****************************************************************************** + */ + +/** + * Report peer discovery statistics + * + * @v intf Interface + * @v peer Selected peer (or NULL) + * @v peers List of available peers + */ +void peerdisc_stat ( struct interface *intf, struct peerdisc_peer *peer, + struct list_head *peers ) { + struct interface *dest; + peerdisc_stat_TYPE ( void * ) *op = + intf_get_dest_op ( intf, peerdisc_stat, &dest ); + void *object = intf_object ( dest ); + + if ( op ) { + op ( object, peer, peers ); + } else { + /* Default is to do nothing */ + } + + intf_put ( dest ); +} + +/****************************************************************************** + * * Discovery sockets * ****************************************************************************** |