remove dead Architecture B code (topic bloom, filter_table, peer_filters)

This commit is contained in:
blankie 2026-06-17 20:11:19 +00:00
parent f680931c8c
commit d63e0c19be
3 changed files with 6 additions and 372 deletions

View file

@ -4,8 +4,6 @@ import threading
import time
from datetime import datetime, timedelta
from tinyweb_forum.bloom import BloomFilter
FORUM_DB = "forum.db"
@ -91,16 +89,6 @@ class ForumDB:
" PRIMARY KEY (content_id, content_type)"
")"
)
db.execute(
"CREATE TABLE IF NOT EXISTS peer_filters ("
" peer_hash TEXT PRIMARY KEY,"
" bloom_bytes BLOB,"
" bloom_size INTEGER DEFAULT 2048,"
" bloom_hashes INTEGER DEFAULT 3,"
" tag_count INTEGER DEFAULT 0,"
" last_seen REAL NOT NULL"
")"
)
try:
db.execute("ALTER TABLE synced_instances ADD COLUMN consecutive_failures INTEGER DEFAULT 0")
except Exception:
@ -625,70 +613,7 @@ class ForumDB:
# --- Filter Table (Architecture B: Bloom Gossip) ---
def store_peer_filter(self, peer_hash, bloom_bytes, bloom_size, bloom_hashes, tag_count):
db = self.get_db()
try:
db.execute(
"INSERT OR REPLACE INTO peer_filters "
"(peer_hash, bloom_bytes, bloom_size, bloom_hashes, tag_count, last_seen) "
"VALUES (?, ?, ?, ?, ?, ?)",
(peer_hash, bloom_bytes, bloom_size, bloom_hashes, tag_count, time.time()),
)
db.commit()
finally:
self.return_db(db)
def get_peer_filter(self, peer_hash):
db = self.get_db()
try:
row = db.execute(
"SELECT * FROM peer_filters WHERE peer_hash = ?", (peer_hash,)
).fetchone()
if row:
return dict(row)
return None
finally:
self.return_db(db)
def get_all_filters(self):
"""Return all stored peer filters (for filter table gossip)."""
db = self.get_db()
try:
return [dict(r) for r in db.execute(
"SELECT * FROM peer_filters ORDER BY last_seen DESC"
).fetchall()]
finally:
self.return_db(db)
def get_filtered_peers_by_tag(self, tag):
"""Return peer hashes whose bloom filter might contain the given tag."""
tag = tag.strip().lower()
db = self.get_db()
try:
matches = []
for r in db.execute("SELECT * FROM peer_filters").fetchall():
bf = BloomFilter.from_bytes(r["bloom_bytes"], r["bloom_size"], r["bloom_hashes"])
if bf.might_contain(tag):
matches.append(r["peer_hash"])
return matches
finally:
self.return_db(db)
def prune_peer_filters(self, max_age_days=7):
db = self.get_db()
try:
cutoff = time.time() - max_age_days * 86400
db.execute("DELETE FROM peer_filters WHERE last_seen < ?", (cutoff,))
db.commit()
finally:
self.return_db(db)
def get_peer_filter_count(self):
db = self.get_db()
try:
return db.execute("SELECT count(*) FROM peer_filters").fetchone()[0]
finally:
self.return_db(db)
# --- Forum Trust ---
# --- Forum Trust ---