main #19

Merged
sangge merged 3 commits from ccyj/mimajingsai:main into main 2023-10-23 21:41:41 +08:00
2 changed files with 8 additions and 7 deletions
Showing only changes of commit ba8bab8a17 - Show all commits

View File

@ -213,7 +213,7 @@ class IP_Message(BaseModel):
dest_ip: str dest_ip: str
message_name: str message_name: str
source_ip: str source_ip: str
pk: int pk: Tuple[int, int]
class Request_Message(BaseModel): class Request_Message(BaseModel):
@ -305,7 +305,7 @@ async def recieve_request(i_m: IP_Message):
message = b"hello world" + random.randbytes(8) message = b"hello world" + random.randbytes(8)
# send message to nodes # send message to nodes
await send_messages(node_ips, message, dest_ip, pk_B, threshold) # type: ignore await send_messages(tuple(node_ips), message, dest_ip, pk_B, threshold)
response = {"threshold": threshold, "public_key": own_public_key} response = {"threshold": threshold, "public_key": own_public_key}
return response return response

View File

@ -29,6 +29,7 @@ def init():
asyncio.create_task(receive_heartbeat_internal()) asyncio.create_task(receive_heartbeat_internal())
def clean_env(): def clean_env():
clear_database()
# 关闭游标和连接 # 关闭游标和连接
cursor.close() cursor.close()
conn.close() conn.close()
@ -86,14 +87,14 @@ async def delete_node(ip: str) -> None:
print(f"Node with IP {ip} not found.") print(f"Node with IP {ip} not found.")
# 接收节点心跳包 # 接收节点心跳包
@app.post("/server/heartbeat") @app.get("/server/heartbeat")
async def receive_heartbeat(ip: str): async def receive_heartbeat(ip: str):
cursor.execute("UPDATE nodes SET last_heartbeat = ? WHERE ip = ?", (time.time(), ip)) cursor.execute("UPDATE nodes SET last_heartbeat = ? WHERE ip = ?", (time.time(), ip))
return {"status": "received"} return {"status": "received"}
async def receive_heartbeat_internal(): async def receive_heartbeat_internal():
while 1: while 1:
timeout = 70 timeout = 7
# 删除超时的节点 # 删除超时的节点
# cursor.execute("DELETE FROM nodes WHERE last_heartbeat < ?", (time.time() - timeout,)) # cursor.execute("DELETE FROM nodes WHERE last_heartbeat < ?", (time.time() - timeout,))
# conn.commit() # conn.commit()
@ -120,8 +121,8 @@ async def send_nodes_list(count: int) -> list:
return nodes_list return nodes_list
@app.get("/server/clear_database") # @app.get("/server/clear_database")
async def clear_database() -> None: def clear_database() -> None:
cursor.execute("DELETE FROM nodes") cursor.execute("DELETE FROM nodes")
conn.commit() conn.commit()