This pull request is a result of a eight-days-long work on a Streaming API, described in #107.
The work was initially started at streaming_api_provider provider branch (commit 28a35493), continued in streaming_api (this) branch and counts 113 commits so far only in the latest branch.
What was done:
implemented the new StreamingApiProvider class that handles WebSocket connections;
added a bunch of utility classes like SubscriptionStorage for managing subscriptions and DeliveryManager for controlling of message delivery, including the delivery of retained messages;
implemented all the functions, described in Streaming API docs: retained messages, retransmission of messages, client disconnection handling, topic subscription and unsubscription, error handling, persistence for session-related data and client authentication;
implemented Observer interface for connection with EventHub instances;
set the maximum version of aiohttp to "less than 3.0";
This pull request is a result of a eight-days-long work on a Streaming API, described in #107.
The work was initially started at streaming_api_provider provider branch (commit 28a35493), continued in streaming_api (this) branch and counts 113 commits so far only in the latest branch.
What was done:
Closes #95