summaryrefslogtreecommitdiffstats
path: root/src/net/peerdisc.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/net/peerdisc.c')
-rw-r--r--src/net/peerdisc.c30
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
*
******************************************************************************