Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Proposed optimization when using StreamingHTTP channel #164

Open
CxRes opened this issue Mar 16, 2023 · 2 comments
Open

Proposed optimization when using StreamingHTTP channel #164

CxRes opened this issue Mar 16, 2023 · 2 comments

Comments

@CxRes
Copy link
Member

CxRes commented Mar 16, 2023

This proposal attempts to solve #110, that is, to allow clients to start receiving notifications in a single request-response cycle (at least in the case of Streaming HTTP), while preserving the essential generality of the Solid Notifications Protocol for other channel types.

I propose that Subscription Clients, when requesting a subscription using HTTP based notification channels (specifically Streaming HTTP channel, but possibly others in the future), may request the Subscription Server to start streaming notifications immediately instead of sending back a cURL. In other words, the Subscription Server also automatically acts as a Notification Sender.

The proposal takes advantage of the fact that Subscriptions are negotiated over HTTP and notifications are sent over HTTP as well. In the case of other channels, one needs to use cURL to establish the notification channels in another protocol. Since we are not switching protocols with streaming HTTP, this step becomes optional.

This proposal will work as an optional notification feature, say, instantConnection. That is, the Subscription Service, through the Discovery mechanism, can advertise whether a given subscriptionType supports this feature, and clients can request this feature.
The response from the Subscription Server will be of the form of Notification Channel Data Model, followed by zero or more Notification Message Data Model.

@CxRes
Copy link
Member Author

CxRes commented Mar 16, 2023

@csarven (I am sure he will correct me 😃) has suggested that when using instantNotifications, startAt MUST not be specified and is assumed to be immediate. I think this is a case of idiot proofing, but I recognize that such idiot proofing might be necessary to prevent clients from opening streams that are only meant to be used hours or days later.

@csarven
Copy link
Member

csarven commented Mar 16, 2023

No, I was sharing an interpretation, not a solution, during the 2023-03-16 meeting: there seemed to be some overlap between instantNotification and startAt (or lack thereof - which is intended to be now/ASAP.)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants