GNUnet  0.10.x
gnunet-service-ats_scheduling.h
Go to the documentation of this file.
1 /*
2  This file is part of GNUnet.
3  Copyright (C) 2011 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 
27 #ifndef GNUNET_SERVICE_ATS_SCHEDULING_H
28 #define GNUNET_SERVICE_ATS_SCHEDULING_H
29 
30 #include "gnunet_util_lib.h"
31 
32 
39 int
41 
42 
49 void
51 
52 
62 void
64  uint32_t session_id,
65  struct GNUNET_BANDWIDTH_Value32NBO bandwidth_out,
66  struct GNUNET_BANDWIDTH_Value32NBO bandwidth_in);
67 
68 
75 void
77 
78 
84 void
86 
87 
93 void
95 
96 
97 #endif
98 /* end of gnunet-service-ats_scheduling.h */
void GAS_handle_address_destroyed(const struct AddressDestroyedMessage *m)
Handle &#39;address destroyed&#39; messages from clients.
static struct GNUNET_HashCode session_id
void GAS_handle_address_update(const struct AddressUpdateMessage *m)
Handle &#39;address update&#39; messages from clients.
Message used to notify ATS that the performance characteristics for an address have changed...
Definition: ats.h:163
Handle to a client that is connected to a service.
Definition: service.c:249
static struct GNUNET_ARM_MonitorHandle * m
Monitor connection with ARM.
Definition: gnunet-arm.c:99
void GAS_scheduling_transmit_address_suggestion(const struct GNUNET_PeerIdentity *peer, uint32_t session_id, struct GNUNET_BANDWIDTH_Value32NBO bandwidth_out, struct GNUNET_BANDWIDTH_Value32NBO bandwidth_in)
Transmit the given address suggestion and bandwidth update to all scheduling clients.
void GAS_scheduling_remove_client(struct GNUNET_SERVICE_Client *client)
Unregister a client (which may have been a scheduling client, but this is not assured).
void GAS_handle_address_add(const struct AddressAddMessage *m)
Handle &#39;address add&#39; messages from clients.
int GAS_scheduling_add_client(struct GNUNET_SERVICE_Client *client)
Register a new scheduling client.
struct GNUNET_TESTBED_Peer * peer
The peer associated with this model.
32-bit bandwidth used for network exchange by GNUnet, in bytes per second.
The identity of the host (wraps the signing key of the peer).
Message sent by ATS client to ATS service when an address was destroyed and must thus henceforth no l...
Definition: ats.h:195
Scheduling client to ATS service: here is another address you can use.
Definition: ats.h:112