GNUnet debian-0.24.3-29-g453fda2cf
 
Loading...
Searching...
No Matches
datastore.h
Go to the documentation of this file.
1/*
2 This file is part of GNUnet
3 Copyright (C) 2004, 2005, 2006, 2007, 2009 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 DATASTORE_H
28#define DATASTORE_H
29
30
31#include "gnunet_util_lib.h"
32
34
56
57
82
83
101
102
134
135
141{
146
151
156
161};
162
163
185
186
255
256
257#endif
#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.
Message transmitting content from or to the datastore service.
Definition datastore.h:192
uint32_t priority
Priority of the item (NBO), zero for remove.
Definition datastore.h:219
struct GNUNET_HashCode key
Key under which the item can be found.
Definition datastore.h:252
uint64_t uid
Unique ID for the content (can be used for UPDATE); can be zero for remove (which indicates that the ...
Definition datastore.h:242
struct GNUNET_TIME_AbsoluteNBO expiration
Expiration time (NBO); zero for remove.
Definition datastore.h:247
struct GNUNET_MessageHeader header
Type is either GNUNET_MESSAGE_TYPE_DATASTORE_PUT, GNUNET_MESSAGE_TYPE_DATASTORE_REMOVE or GNUNET_MESS...
Definition datastore.h:199
uint32_t type
Type of the item (NBO), zero for remove, (actually an enum GNUNET_BLOCK_Type)
Definition datastore.h:214
uint32_t size
Number of bytes in the item (NBO).
Definition datastore.h:209
uint32_t replication
Desired replication level.
Definition datastore.h:229
uint32_t anonymity
Desired anonymity level (NBO), zero for remove.
Definition datastore.h:224
uint32_t reserved
For alignment.
Definition datastore.h:234
uint32_t rid
Reservation ID to use; use zero for none.
Definition datastore.h:204
A 512-bit hashcode.
Header for all communications.
Time for absolute time used by GNUnet, in microseconds and in network byte order.
Message to the datastore service asking about specific content.
Definition datastore.h:108
struct GNUNET_MessageHeader header
Type is GNUNET_MESSAGE_TYPE_DATASTORE_GET_KEY.
Definition datastore.h:112
uint32_t type
Desired content type.
Definition datastore.h:117
uint64_t next_uid
UID at which to start the search.
Definition datastore.h:122
struct GNUNET_HashCode key
Desired key.
Definition datastore.h:132
uint32_t random
If true return a random result.
Definition datastore.h:127
Message to the datastore service asking about specific content.
Definition datastore.h:141
uint32_t random
If true return a random result.
Definition datastore.h:160
uint32_t type
Desired content type.
Definition datastore.h:150
struct GNUNET_MessageHeader header
Type is GNUNET_MESSAGE_TYPE_DATASTORE_GET.
Definition datastore.h:145
uint64_t next_uid
UID at which to start the search.
Definition datastore.h:155
Message to the datastore service asking about zero anonymity content.
Definition datastore.h:169
uint64_t next_uid
UID at which to start the search.
Definition datastore.h:183
uint32_t type
Desired content type (actually an enum GNUNET_BLOCK_Type)
Definition datastore.h:178
struct GNUNET_MessageHeader header
Type is GNUNET_MESSAGE_TYPE_DATASTORE_GET_ZERO_ANONYMITY.
Definition datastore.h:173
Message from datastore client informing service that the remainder of the reserved bytes can now be r...
Definition datastore.h:90
struct GNUNET_MessageHeader header
Type is GNUNET_MESSAGE_TYPE_DATASTORE_RELEASE_RESERVE.
Definition datastore.h:94
int32_t rid
Reservation id.
Definition datastore.h:99
Message from datastore service informing client about the current size of the datastore.
Definition datastore.h:40
uint32_t entries
Number of items to reserve.
Definition datastore.h:49
uint64_t amount
Number of bytes to reserve.
Definition datastore.h:54
struct GNUNET_MessageHeader header
Type is GNUNET_MESSAGE_TYPE_DATASTORE_RESERVE.
Definition datastore.h:44
Message from datastore service informing client about the success or failure of a requested operation...
Definition datastore.h:65
struct GNUNET_TIME_AbsoluteNBO min_expiration
Minimum expiration time required for content to be stored by the datacache at this time,...
Definition datastore.h:80
int32_t status
Status code, -1 for errors.
Definition datastore.h:74
struct GNUNET_MessageHeader header
Type is GNUNET_MESSAGE_TYPE_DATASTORE_STATUS.
Definition datastore.h:69