#include "gnunet_util_lib.h"
+GNUNET_NETWORK_STRUCT_BEGIN
/**
* Initial message from a client to a testing control service.
/**
* Host ID that the controller is either given (if this is the
* dominating client) or assumed to have (for peer-connections
- * between controllers). A controller must check that all
+ * between controllers). A controller must check that all
* connections make consistent claims...
*/
uint32_t host_id GNUNET_PACKED;
* is interested in. In NBO.
*/
uint64_t event_mask GNUNET_PACKED;
+
+ /* Followed by 0-terminated hostname of the controller */
};
{
/**
- * Type is GNUNET_MESSAGE_TYPE_TESTBED_ADDHOSTSUCCESS
+ * Type is GNUNET_MESSAGE_TYPE_TESTBED_ADDHOSTCONFIRMED
*/
struct GNUNET_MessageHeader header;
*/
uint32_t host_id GNUNET_PACKED;
- /* followed by the 0-terminated error message (on failure)
- (typical errors include failure to login and
- host-id already in use) */
+ /* followed by the 0-terminated error message (on failure)
+ * (typical errors include host-id already in use) */
};
*/
uint32_t delegated_host_id GNUNET_PACKED;
+ /**
+ * The id of the operation which created this message
+ */
+ uint64_t operation_id GNUNET_PACKED;
+
/**
* Which host is responsible for managing the delegation? NBO
*/
uint8_t is_subordinate;
/* followed by serialized slave configuration;
- gzip'ed configuration file in INI format */
+ * gzip'ed configuration file in INI format */
};
/**
- * Message sent from client to testing service to
+ * Message sent from client to testing service to
* create (configure, but not start) a peer.
*/
struct GNUNET_TESTBED_PeerCreateMessage
uint32_t config_size GNUNET_PACKED;
/* followed by serialized peer configuration;
- gzip'ed configuration file in INI format */
-
+ * gzip'ed configuration file in INI format */
+
};
/**
- * Message sent from client to testing service to
+ * Message sent from client to testing service to
* reconfigure a (stopped) a peer.
*/
struct GNUNET_TESTBED_PeerReconfigureMessage
uint64_t operation_id GNUNET_PACKED;
/* followed by serialized peer configuration;
- gzip'ed configuration file in INI format */
-
+ * gzip'ed configuration file in INI format */
+
};
*/
uint32_t peer2 GNUNET_PACKED;
+ /**
+ * The ID of the host which runs peer2
+ */
+ uint32_t peer2_host_id GNUNET_PACKED;
+
+};
+
+
+/**
+ * Message sent from host controller of a peer(A) to the host controller of
+ * another peer(B) to request B to connect to A
+ */
+struct GNUNET_TESTBED_RequestConnectMessage
+{
+ /**
+ * Type is GNUNET_MESSAGE_TYPE_TESTBED_REQUESTCONNECT
+ */
+ struct GNUNET_MessageHeader header;
+
+ /**
+ * The Unique ID of B
+ */
+ uint32_t peer GNUNET_PACKED;
+
+ /**
+ * The Operation ID that is used to identify this operation
+ */
+ uint64_t operation_id GNUNET_PACKED;
+
+ /**
+ * Identity of A
+ */
+ struct GNUNET_PeerIdentity peer_identity;
+
+ /**
+ * To be followed by the HELLO message of A
+ */
+ struct GNUNET_MessageHeader hello[0];
+
};
* either GNUNET_TESTBED_ET_PEER_START or GNUNET_TESTBED_ET_PEER_STOP.
*/
int32_t event_type GNUNET_PACKED;
-
+
/**
* Host where the peer is running.
*/
* either GNUNET_TESTBED_ET_CONNECT or GNUNET_TESTBED_ET_DISCONNECT.
*/
int32_t event_type GNUNET_PACKED;
-
+
/**
* First peer.
*/
{
/**
- * Type is GNUNET_MESSAGE_TYPE_TESTBED_OPERATIONEVENT
+ * Type is GNUNET_MESSAGE_TYPE_TESTBED_OPERATIONFAILEVENT
*/
struct GNUNET_MessageHeader header;
* GNUNET_TESTBED_ET_OPERATION_FINISHED.
*/
int32_t event_type GNUNET_PACKED;
-
+
/**
* Operation ID of the operation that created this event.
*/
* Peer identity of the peer that was created.
*/
uint32_t peer_id GNUNET_PACKED;
-
+
/**
* Operation ID of the operation that created this event.
*/
* GNUNET_TESTBED_ET_OPERATION_FINISHED.
*/
int32_t event_type GNUNET_PACKED;
-
+
/**
* Operation ID of the operation that created this event.
*/
};
-
-
/**
- * Message sent from client to testing service to
+ * Message sent from client to testing service to
* obtain the configuration of a peer.
*/
struct GNUNET_TESTBED_PeerGetConfigurationMessage
};
-
/**
- * Event notification from a controller to a client.
+ * Peer configuration and identity reply from controller to a client.
*/
struct GNUNET_TESTBED_PeerConfigurationInformationMessage
{
* The id of the peer relevant to this information
*/
uint32_t peer_id GNUNET_PACKED;
-
+
/**
* Operation ID of the operation that created this event.
*/
/**
* The size of configuration when uncompressed
*/
- uint16_t config_size;
+ uint16_t config_size GNUNET_PACKED;
/* followed by gzip-compressed configuration of the peer */
};
+
+/**
+ * Message to request configuration of a slave controller
+ */
+struct GNUNET_TESTBED_SlaveGetConfigurationMessage
+{
+ /**
+ * Type is GNUNET_MESSAGE_TYPE_TESTBED_GETSLAVECONFIG
+ */
+ struct GNUNET_MessageHeader header;
+
+ /**
+ * The id of the slave host
+ */
+ uint32_t slave_id GNUNET_PACKED;
+
+ /**
+ * Operation ID
+ */
+ uint64_t operation_id GNUNET_PACKED;
+
+};
+
+
+/**
+ * Reply to GETSLAVECONFIG message
+ */
+struct GNUNET_TESTBED_SlaveConfiguration
+{
+ /**
+ * Type is GNUNET_MESSAGE_TYPE_TESTBED_SLAVECONFIG
+ */
+ struct GNUNET_MessageHeader header;
+
+ /**
+ * The id of the host where the slave is running
+ */
+ uint32_t slave_id GNUNET_PACKED;
+
+ /**
+ * Operation ID
+ */
+ uint64_t operation_id GNUNET_PACKED;
+
+ /**
+ * The size of the configuration when uncompressed
+ */
+ uint16_t config_size GNUNET_PACKED;
+
+ /* followed by gzip-compressed configuration of the peer */
+
+};
+
+
+GNUNET_NETWORK_STRUCT_END
+
#endif
+/* end of testbed.h */