Commit Graph

164 Commits

Author SHA1 Message Date
Davide Casale
ddce83be0c Apply some refactoring to sub-package bfxapi.websocket. 2023-10-16 05:59:24 +02:00
Davide Casale
133db74a72 Add automatic deletion for buckets that reach zero subscriptions (e.g. after a call to BfxWebSocketClient::unsubscribe). 2023-10-16 04:45:47 +02:00
Davide Casale
e5ec94b757 Remove wss-event event from BfxWebSocketClient and BfxWebSocketBucket. 2023-10-13 17:38:25 +02:00
Davide Casale
374b632c6c Add pause/resume logic in class BfxWebSocketClient. 2023-10-13 17:05:11 +02:00
Davide Casale
122d692684 Rewrite all logic regarding connection multiplexing. 2023-10-13 05:44:26 +02:00
Davide Casale
378e89b504 Fix small bug in module bfxapi.exceptions. 2023-10-09 16:27:04 +02:00
Davide Casale
25881e77c8 Fix and rewrite some logic in class BfxWebSocketClient. 2023-10-09 16:25:46 +02:00
Davide Casale
de0ee54900 Add new module bfxapi._utils.json_decoder. 2023-10-09 04:58:34 +02:00
Davide Casale
9872adf60f Fix type hinting in module bfxapi._utils.json_encoder. 2023-10-09 04:58:25 +02:00
Davide Casale
5ae576e36a Fix and rewrite all logic in class BfxWebSocketBucket. 2023-10-09 04:57:17 +02:00
Davide Casale
628c3a0d66 Rewrite implementation for abstract class Connection (_connection.py). 2023-10-09 04:56:37 +02:00
Davide Casale
206ebe7941 Remove circular import from file bfx_websocket_client.py. 2023-10-09 04:56:37 +02:00
Davide Casale
22451f674e Remove inner class Connection.Authenticable (_connection.py). 2023-10-09 04:56:37 +02:00
Davide Casale
82a3307205 Fix bug in local class _Delay (bfx_websocket_client.py). 2023-10-09 04:56:37 +02:00
Davide Casale
ca4050a35b Rename event <disconnection> to <disconnected> (to mantain compliance). 2023-10-09 04:56:37 +02:00
Davide Casale
8a1632d3c2 Write new implementation for class BfxEventEmitter (bfxapi.websocket._event_emitter). 2023-10-09 04:56:34 +02:00
Davide Casale
f6c49f677d Remove block for negative checksums (and replace crcmod with native zlip module). 2023-10-08 19:08:18 +02:00
Davide Casale
f39b054397 Add implementation for BfxWebSocketClient::resubscribe and BfxWebSocketBucket::resubscribe. 2023-10-08 19:08:18 +02:00
Davide Casale
26f25e5848 Fix bug in method BfxWebSocketBucket::unsubscribe. 2023-10-08 19:08:18 +02:00
Davide Casale
ce23a8991a Block negative checksums for possible race condition (PublicChannelsHandler::__checksum_handler). 2023-10-08 19:08:18 +02:00
Davide Casale
3c02232f42 Add event handler for checksum messages (PublicChannelsHandler). 2023-10-08 19:08:18 +02:00
Davide Casale
d9267de009 Add config to enable checksums in BfxWebSocketBucket. 2023-10-08 19:08:18 +02:00
Davide Casale
3038027f35 Add fix to handle InvalidStatusCode exception (for 408 Request Timeout). 2023-10-08 19:08:18 +02:00
Davide Casale
da2b411265 Fix missing return statement in public_channels_handler.__raw_book_channel_handler. 2023-10-08 19:08:18 +02:00
Davide Casale
4ba6b28f5b Rename bfxapi._utils.logger to bfxapi._utils.logging (and update references). 2023-10-08 19:08:18 +02:00
Davide Casale
faffb7fe82 Add and implement new IncompleteCredentialError in bfxapi.client. 2023-10-08 19:07:44 +02:00
Davide Casale
755ee767a8 Improve bfxapi._utils.logger (and update usage in Client). 2023-06-23 17:09:03 +02:00
Davide Casale
bae48b2901 Improve wss_timeout implementation in BfxWebSocketClient. 2023-06-20 20:34:59 +02:00
Davide Casale
9edbd7a415 Rename bfxapi.utils to _utils (and update references). 2023-06-20 18:37:33 +02:00
Davide Casale
f1e678e043 Add type hinting support to bfxapi.websocket.client.bfx_websocket_client. 2023-06-20 18:37:21 +02:00
Davide Casale
8b196b8f9c Add type hinting support to bfxapi.websocket.client.bfx_websocket_bucket. 2023-06-18 17:44:09 +02:00
Davide Casale
080ec40395 Add sub-package bfxapi.websocket._event_emitter (with bfx_event_emitter.py). 2023-06-18 16:46:12 +02:00
Davide Casale
1d911a250c Rename bfxapi.websocket.client to _client and bfxapi.websocket.handlers to _handlers (according to PEP8). 2023-06-18 01:02:59 +02:00
Davide Casale
fc84389564 Remove support for BfxWebSocketClient's instance variable events_for_subscription. 2023-06-18 00:54:56 +02:00
Davide Casale
d9733e8d38 Change visibility of decorators require_websocket_connection and require_websocket_authentication (and hardcode HEARTBEAT). 2023-06-17 22:24:27 +02:00
Davide Casale
b12fedb7a3 Replace use of asyncio.locks.Event with asyncio.locks.Condition in bfx_websocket_bucket.py. 2023-06-17 22:20:31 +02:00
Davide Casale
cc5f9f5b0e Remove type hinting for decorators _require_websocket_connection and _require_websocket_authentication. 2023-06-12 16:17:45 +02:00
Davide Casale
d63c2c63c3 Rename RestAuthenticatedEndpoints to RestAuthEndpoints (and bfxapi.rest.endpoints.rest_authenticated_endpoints to rest_auth_endpoints). 2023-06-12 15:58:17 +02:00
Davide Casale
708fdc87c7 Add new event liquidation_feed_update to PublicChannelsHandler (and improve overall type hinting). 2023-06-12 15:37:05 +02:00
Davide Casale
7059846843 Remove support for datetime type and improve typing in several files. 2023-05-26 18:48:27 +02:00
Davide Casale
bc0f83d408 Improve JSONEncoder class in bfxapi.utils.json_encoder. 2023-05-26 18:02:41 +02:00
Davide Casale
dbc61ab275 Add type hints and type checks in bfxapi.websocket.client.bfx_websocket_inputs. 2023-05-25 20:42:55 +02:00
Davide Casale
c8290f144b Upgrade to Mypy 1.3.0 (old: 0.991). Fix compatibility problems with Mypy. Add type hints to bfxapi.websocket.handlers. 2023-05-19 22:13:15 +02:00
Davide Casale
57680abd06 Rename bfxapi.websocket.handlers.authenticated_events_handler to auth_events_handler (AuthenticatedEventsHandler -> AuthEventsHandler). 2023-05-19 15:43:35 +02:00
Davide Casale
59a0dca66e Improve and rewrite bfxapi.websocket.subscriptions. 2023-05-19 15:37:03 +02:00
Davide Casale
03a03c6107 Delete HandlerNotFound exception (from bfxapi.websocket.exceptions). 2023-04-20 15:49:46 +02:00
Davide Casale
63ab433710 Apply refactoring to some relative import directives. 2023-04-20 15:38:10 +02:00
Davide Casale
d7ce5630ef Rewrite bfxapi.tests according to latest changes. 2023-04-20 03:49:54 +02:00
Davide Casale
0f9fa1bf6a Merge bfxapi.rest.types and bfxapi.websocket.types in bfxapi.tests sub-package. 2023-04-20 03:44:13 +02:00
Davide Casale
4edbf5d44c Change event trade_executed to trade_execution (and update references). 2023-04-20 01:43:44 +02:00