/*
- This file is part of GNUnet.
- Copyright (C) 2011-2014 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
- by the Free Software Foundation; either version 3, or (at your
- option) any later version.
-
- GNUnet is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with GNUnet; see the file COPYING. If not, write to the
- Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- Boston, MA 02111-1307, USA.
+ This file is part of GNUnet.
+ Copyright (C) 2011-2014 GNUnet e.V.
+
+ GNUnet is free software: you can redistribute it and/or modify it
+ under the terms of the GNU Affero General Public License as published
+ by the Free Software Foundation, either version 3 of the License,
+ or (at your option) any later version.
+
+ GNUnet is distributed in the hope that it will be useful, but
+ WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Affero General Public License for more details.
+
+ You should have received a copy of the GNU Affero General Public License
+ along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+ SPDX-License-Identifier: AGPL3.0-or-later
*/
/**
*/
static void
solver_info_cb (void *cls,
- enum GAS_Solver_Operation op,
- enum GAS_Solver_Status status,
- enum GAS_Solver_Additional_Information add)
+ enum GAS_Solver_Operation op,
+ enum GAS_Solver_Status status,
+ enum GAS_Solver_Additional_Information add)
{
const char *add_info;
- switch (add) {
- case GAS_INFO_NONE:
- add_info = "GAS_INFO_NONE";
- break;
- case GAS_INFO_FULL:
- add_info = "GAS_INFO_MLP_FULL";
- break;
- case GAS_INFO_UPDATED:
- add_info = "GAS_INFO_MLP_UPDATED";
- break;
- case GAS_INFO_PROP_ALL:
- add_info = "GAS_INFO_PROP_ALL";
- break;
- case GAS_INFO_PROP_SINGLE:
- add_info = "GAS_INFO_PROP_SINGLE";
- break;
- default:
- add_info = "INVALID";
- break;
+ switch (add)
+ {
+ case GAS_INFO_NONE:
+ add_info = "GAS_INFO_NONE";
+ break;
+
+ case GAS_INFO_FULL:
+ add_info = "GAS_INFO_MLP_FULL";
+ break;
+
+ case GAS_INFO_UPDATED:
+ add_info = "GAS_INFO_MLP_UPDATED";
+ break;
+
+ case GAS_INFO_PROP_ALL:
+ add_info = "GAS_INFO_PROP_ALL";
+ break;
+
+ case GAS_INFO_PROP_SINGLE:
+ add_info = "GAS_INFO_PROP_SINGLE";
+ break;
+
+ default:
+ add_info = "INVALID";
+ break;
}
switch (op)
{
(GAS_STAT_SUCCESS == status) ? "SUCCESS" : "FAIL",
add_info);
return;
+
case GAS_OP_SOLVE_STOP:
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
"Solver notifies `%s' with result `%s'\n",
"GAS_OP_SOLVE_STOP",
- (GAS_STAT_SUCCESS == status) ? "SUCCESS" : "FAIL",
- add_info);
+ (GAS_STAT_SUCCESS == status) ? "SUCCESS" : "FAIL");
return;
+
case GAS_OP_SOLVE_SETUP_START:
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
"Solver notifies `%s' with result `%s'\n",
"GAS_OP_SOLVE_SETUP_START",
(GAS_STAT_SUCCESS == status) ? "SUCCESS" : "FAIL");
return;
+
case GAS_OP_SOLVE_SETUP_STOP:
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
"Solver notifies `%s' with result `%s'\n",
"GAS_OP_SOLVE_SETUP_STOP",
(GAS_STAT_SUCCESS == status) ? "SUCCESS" : "FAIL");
return;
+
case GAS_OP_SOLVE_MLP_LP_START:
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
"Solver notifies `%s' with result `%s'\n",
"GAS_OP_SOLVE_LP_START",
(GAS_STAT_SUCCESS == status) ? "SUCCESS" : "FAIL");
return;
+
case GAS_OP_SOLVE_MLP_LP_STOP:
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
"Solver notifies `%s' with result `%s'\n",
"GAS_OP_SOLVE_LP_STOP",
(GAS_STAT_SUCCESS == status) ? "SUCCESS" : "FAIL");
return;
+
case GAS_OP_SOLVE_MLP_MLP_START:
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
"Solver notifies `%s' with result `%s'\n",
"GAS_OP_SOLVE_MLP_START",
(GAS_STAT_SUCCESS == status) ? "SUCCESS" : "FAIL");
return;
+
case GAS_OP_SOLVE_MLP_MLP_STOP:
- GNUNET_log(GNUNET_ERROR_TYPE_DEBUG,
- "Solver notifies `%s' with result `%s'\n",
- "GAS_OP_SOLVE_MLP_STOP",
- (GAS_STAT_SUCCESS == status) ? "SUCCESS" : "FAIL");
+ GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
+ "Solver notifies `%s' with result `%s'\n",
+ "GAS_OP_SOLVE_MLP_STOP",
+ (GAS_STAT_SUCCESS == status) ? "SUCCESS" : "FAIL");
return;
+
case GAS_OP_SOLVE_UPDATE_NOTIFICATION_START:
- GNUNET_log(GNUNET_ERROR_TYPE_DEBUG,
- "Solver notifies `%s' with result `%s'\n",
- "GAS_OP_SOLVE_UPDATE_NOTIFICATION_START",
- (GAS_STAT_SUCCESS == status) ? "SUCCESS" : "FAIL");
+ GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
+ "Solver notifies `%s' with result `%s'\n",
+ "GAS_OP_SOLVE_UPDATE_NOTIFICATION_START",
+ (GAS_STAT_SUCCESS == status) ? "SUCCESS" : "FAIL");
return;
+
case GAS_OP_SOLVE_UPDATE_NOTIFICATION_STOP:
- GNUNET_log(GNUNET_ERROR_TYPE_DEBUG,
- "Solver notifies `%s' with result `%s'\n",
- "GAS_OP_SOLVE_UPDATE_NOTIFICATION_STOP",
- (GAS_STAT_SUCCESS == status) ? "SUCCESS" : "FAIL");
+ GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
+ "Solver notifies `%s' with result `%s'\n",
+ "GAS_OP_SOLVE_UPDATE_NOTIFICATION_STOP",
+ (GAS_STAT_SUCCESS == status) ? "SUCCESS" : "FAIL");
return;
+
default:
GNUNET_break (0);
break;
*/
static void
bandwidth_changed_cb (void *cls,
- struct ATS_Address *address)
+ struct ATS_Address *address)
{
long long diff_out;
long long diff_in;
(unsigned int) address->assigned_bw_in,
(unsigned int) address->assigned_bw_out);
GAS_reservations_set_bandwidth (&address->peer,
- GNUNET_BANDWIDTH_value_init (address->assigned_bw_in));
+ GNUNET_BANDWIDTH_value_init (
+ address->assigned_bw_in));
/* Notify performance clients about changes to address */
GAS_performance_notify_all_clients (&address->peer,
- address->plugin,
- address->addr,
- address->addr_len,
- address->active,
- &address->properties,
- GNUNET_BANDWIDTH_value_init (address->assigned_bw_out),
- GNUNET_BANDWIDTH_value_init (address->assigned_bw_in));
-
- if ( (0 == address->assigned_bw_in) &&
- (0 == address->assigned_bw_out) )
+ address->plugin,
+ address->addr,
+ address->addr_len,
+ address->active,
+ &address->properties,
+ address->local_address_info,
+ GNUNET_BANDWIDTH_value_init (
+ address->assigned_bw_out),
+ GNUNET_BANDWIDTH_value_init (
+ address->assigned_bw_in));
+
+ if ((0 == address->assigned_bw_in) &&
+ (0 == address->assigned_bw_out))
{
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
- "Telling transport to disconnect peer `%s'\n",
+ "Telling transport to disconnect peer `%s'\n",
GNUNET_i2s (&address->peer));
/* Notify scheduling clients about suggestion */
}
/* Do bandwidth stability check */
- diff_out = llabs ((long long) address->assigned_bw_out -
- (long long) address->last_notified_bw_out);
- diff_in = llabs ((long long) address->assigned_bw_in -
- (long long) address->last_notified_bw_in);
- if ( (diff_out < htonl (GNUNET_CONSTANTS_DEFAULT_BW_IN_OUT.value__)) &&
- (diff_in < htonl (GNUNET_CONSTANTS_DEFAULT_BW_IN_OUT.value__)) )
+ diff_out = llabs ((long long) address->assigned_bw_out
+ - (long long) address->last_notified_bw_out);
+ diff_in = llabs ((long long) address->assigned_bw_in
+ - (long long) address->last_notified_bw_in);
+ if ((diff_out < htonl (GNUNET_CONSTANTS_DEFAULT_BW_IN_OUT.value__)) &&
+ (diff_in < htonl (GNUNET_CONSTANTS_DEFAULT_BW_IN_OUT.value__)))
{
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
"Bandwidth change too small, not notifying client\n");
/* *Notify scheduling clients about suggestion */
GAS_scheduling_transmit_address_suggestion (&address->peer,
address->session_id,
- GNUNET_BANDWIDTH_value_init (address->assigned_bw_out),
- GNUNET_BANDWIDTH_value_init (address->assigned_bw_in));
+ GNUNET_BANDWIDTH_value_init (
+ address->assigned_bw_out),
+ GNUNET_BANDWIDTH_value_init (
+ address->assigned_bw_in));
address->last_notified_bw_out = address->assigned_bw_out;
address->last_notified_bw_in = address->assigned_bw_in;
static unsigned long long
parse_quota (const char *quota_str,
const char *direction,
- enum GNUNET_ATS_Network_Type network)
+ enum GNUNET_NetworkType network)
{
int res;
unsigned long long ret;
if (GNUNET_NO == res)
{
GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
- _("Could not load %s quota for network `%s': `%s', assigning default bandwidth %llu\n"),
+ _ (
+ "Could not load %s quota for network `%s': `%s', assigning default bandwidth %llu\n"),
direction,
- GNUNET_ATS_print_network_type (network),
+ GNUNET_NT_to_string (network),
quota_str,
- GNUNET_ATS_DefaultBandwidth);
+ (unsigned long long) GNUNET_ATS_DefaultBandwidth);
ret = GNUNET_ATS_DefaultBandwidth;
}
else
{
GNUNET_log (GNUNET_ERROR_TYPE_INFO,
- _("%s quota configured for network `%s' is %llu\n"),
+ _ ("%s quota configured for network `%s' is %llu\n"),
direction,
- GNUNET_ATS_print_network_type (network),
+ GNUNET_NT_to_string (network),
ret);
}
return ret;
*/
static unsigned long long
load_quota (const struct GNUNET_CONFIGURATION_Handle *cfg,
- enum GNUNET_ATS_Network_Type type,
+ enum GNUNET_NetworkType type,
const char *direction)
{
char *entry;
GNUNET_asprintf (&entry,
"%s_QUOTA_%s",
- GNUNET_ATS_print_network_type (type),
+ GNUNET_NT_to_string (type),
direction);
if (GNUNET_OK ==
GNUNET_CONFIGURATION_get_value_string (cfg,
else
{
GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
- _("No %s-quota configured for network `%s', assigning default bandwidth %llu\n"),
+ _ (
+ "No %s-quota configured for network `%s', assigning default bandwidth %llu\n"),
direction,
- GNUNET_ATS_print_network_type (type),
- GNUNET_ATS_DefaultBandwidth);
+ GNUNET_NT_to_string (type),
+ (unsigned long long) GNUNET_ATS_DefaultBandwidth);
ret = GNUNET_ATS_DefaultBandwidth;
}
GNUNET_free (entry);
{
unsigned int c;
- for (c = 0; (c < GNUNET_ATS_NetworkTypeCount) && (c < dest_length); c++)
+ for (c = 0; (c < GNUNET_NT_COUNT) && (c < dest_length); c++)
{
in_dest[c] = load_quota (cfg,
c,
"in");
GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
"Loaded quota for network `%s' (in/out): %llu %llu\n",
- GNUNET_ATS_print_network_type (c),
+ GNUNET_NT_to_string (c),
in_dest[c],
out_dest[c]);
}
env.cfg = cfg;
env.stats = GSA_stats;
env.addresses = GSA_addresses;
- env.network_count = GNUNET_ATS_NetworkTypeCount;
+ env.network_count = GNUNET_NT_COUNT;
load_quotas (cfg,
env.out_quota,
env.in_quota,
- GNUNET_ATS_NetworkTypeCount);
+ GNUNET_NT_COUNT);
GNUNET_asprintf (&plugin,
"libgnunet_plugin_ats_%s",
mode_str);
if (NULL == (sf = GNUNET_PLUGIN_load (plugin, &env)))
{
GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
- _("Failed to initialize solver `%s'!\n"),
+ _ ("Failed to initialize solver `%s'!\n"),
plugin);
return GNUNET_SYSERR;
}
* @param score_abs degree of the appreciation
*/
void
-GAS_plugin_notify_feedback (struct GNUNET_SERVER_Client *application,
+GAS_plugin_notify_feedback (struct GNUNET_SERVICE_Client *application,
const struct GNUNET_PeerIdentity *peer,
const struct GNUNET_TIME_Relative scope,
enum GNUNET_ATS_PreferenceKind kind,