~ubuntu-branches/ubuntu/trusty/gnunet/trusty

« back to all changes in this revision

Viewing changes to src/hostlist/hostlist-client.h

  • Committer: Package Import Robot
  • Author(s): Bertrand Marc
  • Date: 2012-05-06 00:28:20 UTC
  • mfrom: (1.2.17)
  • Revision ID: package-import@ubuntu.com-20120506002820-n02u1ginv8pjh0ee
Tags: 0.9.2-1
* New maintainer (Closes: #660438).
* New upstream release (Closes: #621645).
* Remove debian/patches, not necessary any more.
* Update dependencies, according to README:
  + update minimal versions. 
  + depends on libunistring-dev.
  + depends on libltdl-dev instead of libltdl3-dev.
  + no need to depend on libgtk anymore.
  + gnunet-server suggests miniupnpc.
* debian/rules:
  + no need to define LOGFILE and PIDFILE.
  + create a minimal conf file.
  + cut gnunet-download-manager.scm extension.
  + remove autogenerated files in clean.
* Gnunet is now released under the GPL v3.
* Standards version 3.9.3.
* Add debian/watch.
* Adding Italian debconf translations, thanks to Beatrice Torracca
  (Closes: #663432).
* Move to dh-autoreconf and add extend-diff-ignore in debian/source/options.
* Remove gnunet-tools since gnunet-setup is not part of gnunet anymore
  (Closes:#651192).
* gnunet-server.init:
  + several services are now supervised by gnunet-service-arm.
  + define the logfile at run time.
* Use a secured group gnunetdns for SUID binaries and change permissions
  accordingly, see https://gnunet.org/gnunet-access-control-model
* gnunet-server.postinst, gnunet-server.postrm: use dpkg-statoverride to set
  and remove setuid permissions.
* Remove properly the old incompatible /etc/gnunetd.conf, use
  /etc/gnunet.conf instead.
* Add minimal (generic) man pages when information is available.
* Remove dpkg options for compression.
* gnunet-server.docs: add README.mysql and README.postgres.
* debian/rules: remove template binaries after dh_install.
* debian/copyright:
  + use copyright format 1.0.
  + mention AUTHORS and translators.
  + use GPL-3+ when possible.
  + add a paragraph for two files distributed under MIT/X11.
* Use dh_installdocs --link-doc to avoid redundancy.
* Remove unused debian/gnunet-dev.lintian-overrides.
* debian/control: add Vcs-git and Vcs-browser fields.
* gnunet-server.postrm:
  + use debconf to determine which user and group to delete.
  + remove /var/lib/gnunet on purge.
  + remove /etc/default/gnunet-server on purge (Closes: #668766).
* Make gnunet-dbg dependencies alternatives as it provides debugging
  symbol for all of them.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*
 
2
     This file is part of GNUnet.
 
3
     (C) 2009 Christian Grothoff (and other contributing authors)
 
4
 
 
5
     GNUnet is free software; you can redistribute it and/or modify
 
6
     it under the terms of the GNU General Public License as published
 
7
     by the Free Software Foundation; either version 3, or (at your
 
8
     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
     General Public License for more details.
 
14
 
 
15
     You should have received a copy of the GNU General Public License
 
16
     along with GNUnet; see the file COPYING.  If not, write to the
 
17
     Free Software Foundation, Inc., 59 Temple Place - Suite 330,
 
18
     Boston, MA 02111-1307, USA.
 
19
*/
 
20
 
 
21
/**
 
22
 * @file hostlist/hostlist-client.h
 
23
 * @brief hostlist support.  Downloads HELLOs via HTTP.
 
24
 * @author Christian Grothoff
 
25
 */
 
26
 
 
27
#ifndef HOSTLIST_CLIENT_H
 
28
#define HOSTLIST_CLIENT_H
 
29
 
 
30
#include "gnunet_core_service.h"
 
31
#include "gnunet_statistics_service.h"
 
32
#include "gnunet_util_lib.h"
 
33
#include "gnunet_time_lib.h"
 
34
 
 
35
/**
 
36
 * Maximum number of hostlist that are saved
 
37
 */
 
38
#define MAX_NUMBER_HOSTLISTS 30
 
39
 
 
40
/**
 
41
 * Time intervall hostlists are saved to disk
 
42
 */
 
43
#define SAVING_INTERVALL GNUNET_TIME_relative_multiply (GNUNET_TIME_UNIT_MINUTES, 30)
 
44
 
 
45
/**
 
46
 * Time interval between two hostlist tests
 
47
 */
 
48
#define TESTING_INTERVALL GNUNET_TIME_relative_multiply (GNUNET_TIME_UNIT_SECONDS, 3)
 
49
 
 
50
/**
 
51
 * Time interval for download dispatcher before a download is re-scheduled
 
52
 */
 
53
#define WAITING_INTERVALL GNUNET_TIME_relative_multiply (GNUNET_TIME_UNIT_SECONDS, 1)
 
54
 
 
55
/**
 
56
 * Defines concerning the hostlist quality metric
 
57
 */
 
58
 
 
59
/**
 
60
 * Initial quality of a new created hostlist
 
61
 */
 
62
#define HOSTLIST_INITIAL 10000
 
63
 
 
64
/**
 
65
 * Value subtracted each time a hostlist download fails
 
66
 */
 
67
#define HOSTLIST_FAILED_DOWNLOAD 100
 
68
 
 
69
/**
 
70
 * Value added each time a hostlist download is successful
 
71
 */
 
72
#define HOSTLIST_SUCCESSFUL_DOWNLOAD 100
 
73
 
 
74
/**
 
75
 * Value added for each valid HELLO recived during a hostlist download
 
76
 */
 
77
#define HOSTLIST_SUCCESSFUL_HELLO 1
 
78
 
 
79
 
 
80
 
 
81
/**
 
82
 * Start downloading hostlists from hostlist servers as necessary.
 
83
 *
 
84
 * @param c the configuration to use
 
85
 * @param st hande for publishing statistics
 
86
 * @param ch set to handler for connect notifications
 
87
 * @param dh set to handler for disconnect notifications
 
88
 * @param msgh set to handler for message handler notifications
 
89
 * @param learn set if client is learning new hostlists
 
90
 * @return GNUNET_OK on success
 
91
 */
 
92
int
 
93
GNUNET_HOSTLIST_client_start (const struct GNUNET_CONFIGURATION_Handle *c,
 
94
                              struct GNUNET_STATISTICS_Handle *st,
 
95
                              GNUNET_CORE_ConnectEventHandler *ch,
 
96
                              GNUNET_CORE_DisconnectEventHandler *dh,
 
97
                              GNUNET_CORE_MessageCallback *msgh, int learn);
 
98
 
 
99
 
 
100
/**
 
101
 * Stop downloading hostlists from hostlist servers as necessary.
 
102
 */
 
103
void
 
104
GNUNET_HOSTLIST_client_stop (void);
 
105
 
 
106
 
 
107
#endif
 
108
/* end of hostlist-client.h */