Commit Graph
12 Commits
Author SHA1 Message Date
Hornwitser ddba58ca99 Require control in EventSubscriber.constructor
Reduce complexity in the implementation of EventSubscriber by requiring
a control link be passed to its constructor.  This is possible after the
change in 8c724e3 made the web interface control instance available to
plugins at init time.
2023-12-11 23:14:37 +01:00
Hornwitser 6cab1fa842 Remove SubscriptionResponse
Since subscriptions are handlede per link there's no need for the
eventReplay to be returned as a part of the SubscriptionRequest, it can
be sent and processed normally as an event.  Simplify the logic by
sending eventReplay as an event and remove SubscriptionResponse.
2023-12-11 21:47:15 +01:00
Hornwitser 4439691695 Decouple SubscriptionController from Controller
Remove the reliance a reference to the Controller to get the link that a
subscription is tied to by explicitly handling the SubscriptionRequest
and passing the link to the SubscriptionController.
2023-12-11 21:47:15 +01:00
Hornwitser 1d729adbb7 Move responsibility of handling unsubscription on close
Notify the SubscriptionController that a connection closed from the
Connection instead of having the subscription controller set up an event
to do so.  This simplifies the logic on the SubscriptionController's
side.
2023-12-11 21:47:15 +01:00
Hornwitser 0c4387769e Use -1 as the default lastResponseTime
Entites that didn't have an updatedAt time at the time of creation will
default to having one set to 0.  Since entities with an updatedAt time
greater than lastResponseTime is expected to be returned this means that
these entities would not be included when a client does its initial sync
subscribing to a resource.  Change the default lastResponseTime
requested so that these entities are included.
2023-12-11 20:21:43 +01:00
Hornwitser 58914042cc Remove channels to simplify subscription
Make subscriptions either on or off to greatly simplify the logic of
subscribing to events.
2023-12-03 20:32:48 +01:00
Cooldude2606 23ba5d612a Fixed failing tests for unsubscribe 2023-10-06 18:56:27 +01:00
Cooldude2606 11d820b085 Increase patch coverage 2023-09-07 22:31:09 +01:00
Cooldude2606 621f850804 Some cleanup 2023-09-07 21:36:27 +01:00
Cooldude2606 2afddafe4d All tests passing 2023-09-07 20:54:21 +01:00
Cooldude2606 2c9050824e Test suite mostly ready 2023-09-07 03:36:38 +01:00
Cooldude2606 cccb27c733 Add test skeleton 2023-09-06 21:16:31 +01:00