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

Streaming aggregated TimeMap #95

Open
ibnesayeed opened this issue Mar 21, 2017 · 4 comments
Open

Streaming aggregated TimeMap #95

ibnesayeed opened this issue Mar 21, 2017 · 4 comments

Comments

@ibnesayeed
Copy link
Member

ibnesayeed commented Mar 21, 2017

It may be useful to have the aggregator stream TimeMaps as they accumulate from various upstream archives. Sorting in this case will not be needed (or even practical). This can be utilized in some visualizations or tools like Mink where the number may dynamically change as more and more responses arrive from upstream archives. From the implementation perspective, chunked encoding could be one of many other ways to transmit the data to the client.

@machawk1
Copy link
Member

@ibnesayeed This would be very useful for tools like Mink where a partial result is often better than waiting for a comprehensive result if the latter is not needed by the user.

@ibnesayeed
Copy link
Member Author

The ORS/CDXJ format will be a good candidate for the stream serialization. Perhaps we should only support that format for streaming.

@machawk1
Copy link
Member

@ibnesayeed Agreed, and this highlights one of the benefits of using CDXJ over Link (or JSON) since a partial TimeMap is still valid and useful.

@ibnesayeed
Copy link
Member Author

ibnesayeed commented Mar 21, 2017

There is a potential of utilizing the chunk extension to provide metadata about each batch of response that might contain the name of the archive and number of mementos after the batch size.

2a7; provider=IA; memento-count=15;
... ORS/CDXJ lines...

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

No branches or pull requests

2 participants