X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=src%2Ftestbed%2Ftestbed_api_peers.h;h=50fb29bf6adc3e40712d7abff1fdc2df05adf133;hb=a900b29ddaa9ea46c731b054b5e3ef3e725b95a8;hp=f02079926dad17f37f0978554b6e7e52d3b6316b;hpb=01e21ba6afe2d16ba45b5a73f2777152fd27ffc3;p=oweals%2Fgnunet.git diff --git a/src/testbed/testbed_api_peers.h b/src/testbed/testbed_api_peers.h index f02079926..50fb29bf6 100644 --- a/src/testbed/testbed_api_peers.h +++ b/src/testbed/testbed_api_peers.h @@ -1,6 +1,6 @@ /* This file is part of GNUnet - (C) 2008--2012 Christian Grothoff (and other contributing authors) + (C) 2008--2013 Christian Grothoff (and other contributing authors) GNUnet is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published @@ -65,6 +65,16 @@ enum PeerState */ struct GNUNET_TESTBED_Peer { + /** + * peer list DLL + */ + struct GNUNET_TESTBED_Peer *next; + + /** + * peer list DLL + */ + struct GNUNET_TESTBED_Peer *prev; + /** * Our controller context (not necessarily the controller * that is responsible for starting/running the peer!). @@ -130,17 +140,17 @@ struct PeerEventData * The handle of the peer to start */ struct GNUNET_TESTBED_Peer *peer; - + /** * The Peer churn callback to call when this operation is completed */ GNUNET_TESTBED_PeerChurnCallback pcc; - + /** * Closure for the above callback */ void *pcc_cls; - + }; @@ -172,7 +182,7 @@ struct PeerInfoData * The Peer info callback to call when this operation has completed */ GNUNET_TESTBED_PeerInfoCallback cb; - + /** * The closure for peer info callback */ @@ -185,6 +195,28 @@ struct PeerInfoData }; +/** + * Data for the operations of type OP_PEER_RECONFIGURE + */ +struct PeerReconfigureData +{ + /** + * The peer whose information has been requested + */ + struct GNUNET_TESTBED_Peer *peer; + + /** + * The serialized new configuration template + */ + char *config; + + /** + * the size of the serialized configuration + */ + uint16_t cfg_size; +}; + + /** * Data structure for OperationType OP_OVERLAY_CONNECT */ @@ -205,7 +237,7 @@ struct OverlayConnectData * The operation completion callback to call once this operation is done */ GNUNET_TESTBED_OperationCompletionCallback cb; - + /** * The closure for the above callback */ @@ -223,6 +255,11 @@ struct OverlayConnectData */ struct GNUNET_TIME_Absolute tstart; + /** + * Has this operation failed + */ + int failed; + /** * The timing slot index for this operation */ @@ -231,6 +268,22 @@ struct OverlayConnectData }; +struct ManageServiceData { + GNUNET_TESTBED_OperationCompletionCallback cb; + + void *cb_cls; + + struct GNUNET_TESTBED_Peer *peer; + + char *service_name; + + unsigned int start; + + uint16_t msize; + +}; + + /** * Generate PeerGetConfigurationMessage * @@ -243,5 +296,30 @@ struct GNUNET_TESTBED_PeerGetConfigurationMessage * GNUNET_TESTBED_generate_peergetconfig_msg_ (uint32_t peer_id, uint64_t operation_id); + +/** + * Adds a peer to the peer list + * + * @param peer the peer to add to the peer list + */ +void +GNUNET_TESTBED_peer_register_ (struct GNUNET_TESTBED_Peer *peer); + + +/** + * Removes a peer from the peer list + * + * @param peer the peer to remove + */ +void +GNUNET_TESTBED_peer_deregister_ (struct GNUNET_TESTBED_Peer *peer); + + +/** + * Frees all peers + */ +void +GNUNET_TESTBED_cleanup_peers_ (void); + #endif /* end of testbed_api_peers.h */