GNUnet  0.20.0
gnunet-service-testbed_links.h
Go to the documentation of this file.
1 /*
2  This file is part of GNUnet.
3  Copyright (C) 2008--2013 GNUnet e.V.
4 
5  GNUnet is free software: you can redistribute it and/or modify it
6  under the terms of the GNU Affero General Public License as published
7  by the Free Software Foundation, either version 3 of the License,
8  or (at your option) any later version.
9 
10  GNUnet is distributed in the hope that it will be useful, but
11  WITHOUT ANY WARRANTY; without even the implied warranty of
12  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13  Affero General Public License for more details.
14 
15  You should have received a copy of the GNU Affero General Public License
16  along with this program. If not, see <http://www.gnu.org/licenses/>.
17 
18  SPDX-License-Identifier: AGPL3.0-or-later
19  */
20 
32 struct Neighbour;
33 
34 
38 struct Slave
39 {
44 
49 
55 
60 
65 
70 
75 
79  uint32_t host_id;
80 };
81 
85 extern struct Slave **GST_slave_list;
86 
90 extern unsigned int GST_slave_list_size;
91 
92 
96 void
98 
99 
107 struct Neighbour *
108 GST_get_neighbour (uint32_t id);
109 
110 
114 void
115 GST_free_nccq (void);
116 
117 
123 
124 
131 typedef void
134  controller);
135 
136 
151  void *cb_cls);
152 
153 
159 void
161 
162 
170 void
172 
173 
179 struct Neighbour *
181 
182 
189 void
190 handle_link_controllers (void *cls,
191  const struct
193 
194 
201 void
203 
204 
208 void
209 GST_slave_list_clear (void);
struct GNUNET_MessageHeader * msg
Definition: 005.c:2
static struct GNUNET_ARM_Handle * h
Connection with ARM.
Definition: gnunet-arm.c:99
Internal representation of the hash map.
Handle to a client that is connected to a service.
Definition: service.c:252
Client notifies controller that it should delegate requests for a particular client to a particular s...
Definition: testbed.h:137
Handle for controller process.
Handle to interact with a GNUnet testbed controller.
Definition: testbed_api.h:194
handle for host registration
Opaque handle to a host running experiments managed by the testing framework.
A DLL of host registrations to be made.
Context information used while linking controllers.
Notification context to be used to notify when connection to the neighbour's controller is opened.
GST_NeighbourConnectNotifyCallback cb
The notification callback to call when we are connect to neighbour.
struct Neighbour * n
The neighbour.
void * cb_cls
The closure for the above callback.
A connected controller which is not our child.
Structure representing a connected(directly-linked) controller.
uint32_t host_id
The id of the host this controller is running on.
struct HostRegistration * hr_dll_tail
Tail of the host registration DLL.
struct GNUNET_TESTBED_Controller * controller
The controller handle.
struct HostRegistration * hr_dll_head
Head of the host registration DLL.
struct GNUNET_TESTBED_HostRegistrationHandle * rhandle
The current host registration handle.
struct GNUNET_TESTBED_ControllerProc * controller_proc
The controller process handle if we had started the controller.
struct GNUNET_CONTAINER_MultiHashMap * reghost_map
Hashmap to hold Registered host contexts.
struct LinkControllersContext * lcc
handle to lcc which is associated with this slave startup.