summaryrefslogtreecommitdiffstats
path: root/src/include/ipxe/peermux.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/include/ipxe/peermux.h')
-rw-r--r--src/include/ipxe/peermux.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/include/ipxe/peermux.h b/src/include/ipxe/peermux.h
index 44cbdb9d..54acbfec 100644
--- a/src/include/ipxe/peermux.h
+++ b/src/include/ipxe/peermux.h
@@ -41,6 +41,16 @@ struct peerdist_multiplexed_block {
struct interface xfer;
};
+/** PeerDist statistics */
+struct peerdist_statistics {
+ /** Maximum observed number of peers */
+ unsigned int peers;
+ /** Number of blocks downloaded in total */
+ unsigned int total;
+ /** Number of blocks downloaded from peers */
+ unsigned int local;
+};
+
/** A PeerDist download multiplexer */
struct peerdist_multiplexer {
/** Reference count */
@@ -65,6 +75,9 @@ struct peerdist_multiplexer {
struct list_head idle;
/** Block downloads */
struct peerdist_multiplexed_block block[PEERMUX_MAX_BLOCKS];
+
+ /** Statistics */
+ struct peerdist_statistics stats;
};
extern int peermux_filter ( struct interface *xfer, struct interface *info,