WIP: Implementing sqlite objects storage #13

Draft
lee.miller wants to merge 12 commits from lee.miller/MiNode:sqlite into v0.3
2 changed files with 9 additions and 6 deletions
Showing only changes of commit 6843717e2b - Show all commits

View File

@ -477,7 +477,7 @@ class Connection(ConnectionBase):
logging.debug('%s:%s -> %s', self.host_print, self.port, obj)
self.vectors_requested.pop(obj.vector, None)
self.vectors_to_get.discard(obj.vector)
if obj.is_valid() and obj.vector not in shared.objects:
if obj.is_valid():
shared.objects[obj.vector] = obj
if (
obj.object_type == shared.i2p_dest_obj_type

View File

@ -128,11 +128,14 @@ class Inventory():
def __setitem__(self, vector, obj):
with shared.objects_lock:
try:
cur = self._db.execute(
'INSERT INTO objects VALUES (?,?,?,?,?,?,?,?)', (
vector, obj.expires_time, obj.object_type, obj.version,
obj.stream_number, obj.tag, obj.data, obj.offset
))
except (sqlite3.DatabaseError, sqlite3.IntegrityError):
return
self._db.commit()
self.rowid = cur.lastrowid