7a69dded3a
Add caching objects in a dict
2024-10-15 03:11:40 +03:00
e0fd798d22
Make objects.vectors_to_send() a generator of chunks
2024-10-15 03:11:39 +03:00
de4d1655e0
Move VACUUM into cleanup()
2024-10-15 03:11:38 +03:00
a27c94ff17
Started a test case for the objects
2024-10-15 03:11:38 +03:00
533e6f98cd
Take into account pending objects in Inventory.cleanup()
2024-10-15 03:11:38 +03:00
332650061c
Add vacuum after deleting 10000 objects
2024-10-15 03:11:37 +03:00
e4d6ebfc3a
Move objects_lock into the Inventory object
2024-10-15 03:11:34 +03:00
195ce33c83
Handle sqlite3 exceptions in __setitem__ instead of checking presence
2024-10-15 03:10:18 +03:00
a7a0036480
No more pickling objects
2024-10-15 03:10:18 +03:00
86501d807f
Set the row_factory for the sqlite3.Connection
2024-10-15 03:10:17 +03:00
9ee3187b51
Set a row factory instead of nesting the iterator, iterate through the cursor
2024-10-15 03:10:17 +03:00
c73e878c9c
Update test object for the new Object structure,
...
comment outdated setting object_payload
2024-10-15 03:10:16 +03:00
6715af61b3
A rough implementation of the objects stored in sqlite db
2024-10-15 03:10:03 +03:00
d106078dac
Skip tests instead of failing if I2PController freezes
Testing / default (push) Successful in 6m0s
2024-07-30 01:32:02 +03:00
a01e2d3469
Add a test for the saved I2P keys
2024-07-29 15:44:36 +03:00
0c898f687b
Expect I2PController to start in TestProcess._wait_time before checks,
...
thus increasing the maximum wait time, but increase also _connection_limit,
because 2 connections it is only the controller and the listener.
2024-07-29 15:43:09 +03:00
a451a255af
Bump version to 0.3.3
Testing / default (push) Successful in 4m14s
2024-07-09 05:41:35 +03:00
16031874c7
Relax the condition in TestProcess.test_connections()
2024-07-09 05:41:23 +03:00
aa6e8a57fb
Copy the relevant part of test_network_group() from PyBitmessage
2024-06-25 20:19:31 +03:00
e11aece1a8
Invalidate the version message with a large time offset
2024-06-25 20:19:30 +03:00
908ed1f582
Run listener with a large time offset and ensure it's not connected
2024-06-25 20:19:30 +03:00
1b9648f3de
Correct position of the except clause in listener loop
2024-06-25 20:19:29 +03:00
c4d22c4c21
Add a test case for listener with a process running with --trusted-peer
2024-06-25 20:19:29 +03:00
5ca6e8a3e3
Add a test for connections with large time offset
2024-06-25 20:19:24 +03:00
abf062ac86
Check network group of connections in process test if it isn't for i2p
2024-06-25 19:55:29 +03:00
7719de5338
Define a static method network_group() in NetAddrNoPrefix
...
and use it in manager.
2024-06-25 19:55:28 +03:00
b0fa199838
A short test for normal connection (with timeout in 5 min)
2024-06-25 19:55:27 +03:00
f9272cbac9
Define a base class for connection to subclass for special purposes
2024-06-25 19:55:27 +03:00
efeabcb4cf
Cleanup the wait time in test_process, correct format in TestProcess.fail()
Testing / default (push) Failing after 3m49s
2024-06-18 19:09:31 +03:00
740654b563
Make tuples from sets before taking random samples
2024-05-07 19:15:36 +03:00
5a65978678
Fix a mistake in Connection._do_tls_handshake(): return on exception,
...
log ssl.SSLError reason and discard the node.
2024-05-07 19:15:36 +03:00
d06beded72
Resolve an SSL issue connecting to PyBitmessage 0.6.1 or using openssl 3.0,
...
log version
2024-05-07 19:15:00 +03:00
c9a3877b92
Lower logging level for connection error messages in I2PDialer
2023-12-24 01:44:08 +02:00
9bcaea12cf
Specifically skip B311 in manager by bandit
2023-10-14 01:06:31 +03:00
e4c2c1be16
Make load_data a static method in manager,
...
use ascii while loading nodes csv.
2023-10-14 01:06:31 +03:00
a7187d8dfd
Suppress some too-many-* pylint design warnings in parse_arguments()
2023-10-14 01:06:31 +03:00
ddf07fd506
Set object tag for object types supporting it
2023-10-12 19:50:18 +03:00
2145f5839e
Cover the main proofofwork call and worker procedure
2023-10-12 19:50:15 +03:00
b806906af4
Add Error message class, handle fatal
2023-10-12 19:49:32 +03:00
3f61bd694b
Define a helper function to read a varint and trim payload
2023-10-12 19:49:32 +03:00
7812e4bbc2
Use shared.stream when assembling i2p_dest object instead of hardcoded 1
2023-10-12 19:49:32 +03:00
fda6ecfe01
Unify and improve message.Version:
...
- from_message() decoding method as in other messages;
- support multiple streams and move stream check to connection;
- use shared.stream instead of hardcoded 1;
- replace values from shared with the instance attributes in to_bytes(),
put conventional 1 as services of a remote host.
2023-10-12 19:49:32 +03:00
428580a980
Add a test for version message
2023-10-12 19:49:32 +03:00
399fc6f21f
Improve structure.Object:
...
- use shared.stream instead of hardcoded 1;
- reuse pow_initial_hash() in is_valid().
2023-10-12 19:49:31 +03:00
218905739c
Add a test for object covering also proofofwork
2023-10-12 19:48:52 +03:00
e4887734a0
Send ping into inactive connection, not pong
2023-10-07 17:55:49 +03:00
58a80bb4a4
Remove unreachable except clause for ConnectionResetError
...
- handled in socket.error branch. TODO: follow PEP 3151
2023-08-20 01:19:11 +03:00
8755e56167
Replace Manager.clean_objects() by the extended version from main
...
and call it upon the Manager start.
2023-08-20 01:14:17 +03:00
45a4a8fd31
Manifest disconnecting
2023-08-16 03:42:16 +03:00
67ecbf95d3
Suppress false positives on unsubscriptable-object in connection
2023-08-14 23:59:57 +03:00