26#ifndef GNUNET_SERVICE_FS_H
27#define GNUNET_SERVICE_FS_H
42#define TTL_DECREMENT 5000
49#define DATASTORE_LOAD_AUTODECLINE GNUNET_TIME_relative_multiply ( \
50 GNUNET_TIME_UNIT_MILLISECONDS, 250)
55#define GET_MESSAGE_BIT_QUERY_ONLY 0
63#define GET_MESSAGE_BIT_RETURN_TO 1
73#define GET_MESSAGE_BIT_TRANSMIT_TO 4
217extern struct GNUNET_ATS_PerformanceHandle *
GSF_ats;
definitions for the entire fs module
static int start
Set if we are to start default services (including ARM).
static int result
Global testing status.
int GSF_enable_randomized_delays
Are we introducing randomized delays for better anonymity?
void GSF_update_datastore_delay_(struct GNUNET_TIME_Absolute start)
We've just now completed a datastore request.
struct GNUNET_BLOCK_Context * GSF_block_ctx
Our block context.
struct GNUNET_DHT_Handle * GSF_dht
Handle for DHT operations.
int GSF_test_get_load_too_high_(uint32_t priority)
Test if the DATABASE (GET) load on this peer is too high to even consider processing the query at all...
struct GNUNET_STATISTICS_Handle * GSF_stats
Handle for reporting statistics.
double GSF_current_priorities
Typical priorities we're seeing from other peers right now.
unsigned int GSF_cover_query_count
How many query messages have we received 'recently' that have not yet been claimed as cover traffic?
const struct GNUNET_CONFIGURATION_Handle * GSF_cfg
Our configuration.
void GSF_consider_forwarding(void *cls, struct GSF_PendingRequest *pr, enum GNUNET_BLOCK_ReplyEvaluationResult result)
Function to be called after we're done processing replies from the local lookup.
struct GNUNET_PeerIdentity GSF_my_id
Identity of this peer.
struct GNUNET_ATS_PerformanceHandle * GSF_ats
Handle to ATS service.
struct GNUNET_CORE_Handle * GSF_core
Pointer to handle to the core service (points to NULL until we've connected to it).
unsigned int GSF_cover_content_count
How many content messages have we received 'recently' that have not yet been claimed as cover traffic...
struct GNUNET_TIME_Relative GSF_avg_latency
Running average of the observed latency to other peers (round trip).
struct GNUNET_LOAD_Value * GSF_rt_entry_lifetime
How long do requests typically stay in the routing table?
struct GNUNET_DATASTORE_Handle * GSF_dsh
Our connection to the datastore.
unsigned int GSF_datastore_queue_size
Size of the datastore queue we assume for common requests.
Library for data block manipulation.
Core service; the main API for encrypted P2P communications.
API to create, modify and access statistics.
GNUNET_BLOCK_ReplyEvaluationResult
Possible ways for how a block may relate to a query.
#define GNUNET_NETWORK_STRUCT_BEGIN
Define as empty, GNUNET_PACKED should suffice, but this won't work on W32.
#define GNUNET_NETWORK_STRUCT_END
Define as empty, GNUNET_PACKED should suffice, but this won't work on W32;.
#define GNUNET_PACKED
gcc-ism to get packed structs.
Handle to an initialized block library.
Context for the core service connection.
Handle to the datastore service.
Connection to the DHT service.
Values we track for load calculations.
The identity of the host (wraps the signing key of the peer).
Time for absolute times used by GNUnet, in microseconds.
Time for relative time used by GNUnet, in microseconds and in network byte order.
Time for relative time used by GNUnet, in microseconds.
M:N binding of plans to pending requests.
Information we keep per request per peer.
Message to the datastore service asking about specific content.
uint32_t type
Desired content type.
struct GNUNET_MessageHeader header
Type is GNUNET_MESSAGE_TYPE_DATASTORE_GET.
uint32_t priority
How important is this request (network byte order)
struct GNUNET_HashCode query
Hashcodes of the file(s) we're looking for.
uint32_t reserved
These days not used.
int32_t ttl
Relative time to live in MILLISECONDS (network byte order)
uint32_t hash_bitmap
Which of the optional hash codes are present at the end of the message? See GET_MESSAGE_BIT_xx consta...
Message send by a peer that wants to be excluded from migration for a while.
struct GNUNET_MessageHeader header
Message type will be GNUNET_MESSAGE_TYPE_FS_MIGRATION_STOP.
struct GNUNET_TIME_RelativeNBO duration
How long should the block last?
uint32_t reserved
Always zero.