[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] r33299 - in gnunet/src: include peerstore
From: |
gnunet |
Subject: |
[GNUnet-SVN] r33299 - in gnunet/src: include peerstore |
Date: |
Wed, 14 May 2014 19:06:27 +0200 |
Author: otarabai
Date: 2014-05-14 19:06:27 +0200 (Wed, 14 May 2014)
New Revision: 33299
Modified:
gnunet/src/include/gnunet_peerstore_plugin.h
gnunet/src/peerstore/gnunet-service-peerstore.c
gnunet/src/peerstore/plugin_peerstore_sqlite.c
Log:
added record expiry to sqlite
Modified: gnunet/src/include/gnunet_peerstore_plugin.h
===================================================================
--- gnunet/src/include/gnunet_peerstore_plugin.h 2014-05-14 16:51:12 UTC
(rev 33298)
+++ gnunet/src/include/gnunet_peerstore_plugin.h 2014-05-14 17:06:27 UTC
(rev 33299)
@@ -83,7 +83,8 @@
const struct GNUNET_PeerIdentity *peer,
const char *key,
const void *value,
- size_t size);
+ size_t size,
+ struct GNUNET_TIME_Absolute expiry);
/**
* Iterate over the records given an optional peer id
Modified: gnunet/src/peerstore/gnunet-service-peerstore.c
===================================================================
--- gnunet/src/peerstore/gnunet-service-peerstore.c 2014-05-14 16:51:12 UTC
(rev 33298)
+++ gnunet/src/peerstore/gnunet-service-peerstore.c 2014-05-14 17:06:27 UTC
(rev 33299)
@@ -115,24 +115,14 @@
GNUNET_SERVER_receive_done(client, GNUNET_SYSERR);
return;
}
- if(NULL == record->sub_system)
+ if(NULL == record->sub_system
+ || NULL == record->peer
+ || NULL == record->key)
{
- GNUNET_log(GNUNET_ERROR_TYPE_ERROR, "Sub system not supplied in client
store request\n");
+ GNUNET_log(GNUNET_ERROR_TYPE_ERROR, "Full key not supplied in client store
request\n");
GNUNET_SERVER_receive_done(client, GNUNET_SYSERR);
return;
}
- if(NULL == record->peer)
- {
- GNUNET_log(GNUNET_ERROR_TYPE_ERROR, "Peer id not supplied in client store
request\n");
- GNUNET_SERVER_receive_done(client, GNUNET_SYSERR);
- return;
- }
- if(NULL == record->key)
- {
- GNUNET_log(GNUNET_ERROR_TYPE_ERROR, "Key not supplied in client store
request\n");
- GNUNET_SERVER_receive_done(client, GNUNET_SYSERR);
- return;
- }
GNUNET_log(GNUNET_ERROR_TYPE_INFO, "Received a store request (size: %lu) for
sub system `%s', peer `%s', key `%s'\n",
record->value_size,
record->sub_system,
@@ -143,7 +133,8 @@
record->peer,
record->key,
record->value,
- record->value_size))
+ record->value_size,
+ GNUNET_TIME_relative_to_absolute(record->lifetime)))
{
response_type = GNUNET_MESSAGE_TYPE_PEERSTORE_STORE_RESULT_OK;
}
Modified: gnunet/src/peerstore/plugin_peerstore_sqlite.c
===================================================================
--- gnunet/src/peerstore/plugin_peerstore_sqlite.c 2014-05-14 16:51:12 UTC
(rev 33298)
+++ gnunet/src/peerstore/plugin_peerstore_sqlite.c 2014-05-14 17:06:27 UTC
(rev 33299)
@@ -208,7 +208,8 @@
const struct GNUNET_PeerIdentity *peer,
const char *key,
const void *value,
- size_t size)
+ size_t size,
+ struct GNUNET_TIME_Absolute expiry)
{
struct Plugin *plugin = cls;
sqlite3_stmt *stmt = plugin->insert_peerstoredata;
@@ -218,7 +219,8 @@
if(SQLITE_OK != sqlite3_bind_text(stmt, 1, sub_system, strlen(sub_system) +
1, SQLITE_STATIC)
|| SQLITE_OK != sqlite3_bind_blob(stmt, 2, peer, sizeof(struct
GNUNET_PeerIdentity), SQLITE_STATIC)
|| SQLITE_OK != sqlite3_bind_text(stmt, 3, key, strlen(key) + 1,
SQLITE_STATIC)
- || SQLITE_OK != sqlite3_bind_blob(stmt, 4, value, size, SQLITE_STATIC))
+ || SQLITE_OK != sqlite3_bind_blob(stmt, 4, value, size, SQLITE_STATIC)
+ || SQLITE_OK != sqlite3_bind_int64(stmt, 5,
(sqlite3_int64)expiry.abs_value_us))
LOG_SQLITE (plugin, GNUNET_ERROR_TYPE_ERROR | GNUNET_ERROR_TYPE_BULK,
"sqlite3_bind");
else if (SQLITE_DONE != sqlite3_step (stmt))
@@ -343,30 +345,31 @@
" sub_system TEXT NOT NULL,\n"
" peer_id BLOB NOT NULL,\n"
" key TEXT NOT NULL,\n"
- " value BLOB NULL"
+ " value BLOB NULL,\n"
+ " expiry INTEGER NOT NULL"
");");
/* Prepare statements */
sql_prepare (plugin->dbh,
- "INSERT INTO peerstoredata (sub_system, peer_id, key, value) VALUES
(?,?,?,?);",
+ "INSERT INTO peerstoredata (sub_system, peer_id, key, value, expiry)
VALUES (?,?,?,?,?);",
&plugin->insert_peerstoredata);
sql_prepare(plugin->dbh,
- "SELECT peer_id, sub_system, value FROM peerstoredata"
+ "SELECT * FROM peerstoredata"
" WHERE sub_system = ?",
&plugin->select_peerstoredata);
sql_prepare(plugin->dbh,
- "SELECT peer_id, sub_system, value FROM peerstoredata"
+ "SELECT * FROM peerstoredata"
" WHERE sub_system = ?"
" AND peer_id = ?",
&plugin->select_peerstoredata_by_pid);
sql_prepare(plugin->dbh,
- "SELECT peer_id, sub_system, value FROM peerstoredata"
+ "SELECT * FROM peerstoredata"
" WHERE sub_system = ?"
" AND key = ?",
&plugin->select_peerstoredata_by_key);
sql_prepare(plugin->dbh,
- "SELECT peer_id, sub_system, value FROM peerstoredata"
+ "SELECT * FROM peerstoredata"
" WHERE sub_system = ?"
" AND peer_id = ?"
" AND key = ?",
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r33299 - in gnunet/src: include peerstore,
gnunet <=