3 /* bandwidth - network bandwidth tests facilities */
5 /* module's private interface masked even to other parts of AMOK. */
7 /* Copyright (c) 2003, 2004 Martin Quinson. All rights reserved. */
9 /* This program is free software; you can redistribute it and/or modify it
10 * under the terms of the license (GNU LGPL) which comes with this package. */
13 #ifndef AMOK_BANDWIDTH_PRIVATE_H
14 #define AMOK_BANDWIDTH_PRIVATE_H
17 #include "amok/bandwidth.h"
19 /* Request for a BW experiment.
20 * If host==NULL, it should be between the sender and the receiver.
21 * If not, it should be between between the receiver and host (3-tiers).
24 s_xbt_host_t host; /* host+raw socket to use */
25 unsigned long int buf_size;
26 unsigned long int exp_size;
27 unsigned long int msg_size;
28 } s_bw_request_t,*bw_request_t;
30 /* Result of a BW experiment (payload when answering).
31 * if err.msg != NULL, it wasn't sucessful. Check err.msg and err.code to see why.
34 unsigned int timestamp;
40 /* Description of a saturation experiment (payload asking some host to collaborate for that)
43 s_xbt_host_t host; /* host+raw socket to use */
44 unsigned int msg_size;
46 } s_sat_request_t,*sat_request_t;
48 /* Prototypes of local callbacks */
49 int amok_bw_cb_bw_handshake(gras_msg_cb_ctx_t ctx, void *payload);
50 int amok_bw_cb_bw_request(gras_msg_cb_ctx_t ctx, void *payload);
52 int amok_bw_cb_sat_start(gras_msg_cb_ctx_t ctx, void *payload);
53 int amok_bw_cb_sat_begin(gras_msg_cb_ctx_t ctx, void *payload);
55 #endif /* AMOK_BANDWIDTH_PRIVATE_H */