27 lines
868 B
Markdown
27 lines
868 B
Markdown
Architecture
|
|
============
|
|
|
|
|
|
|
|
Streaming
|
|
---------
|
|
|
|
Just because I'm frustrated by how hard it is to implement streaming on Bebop
|
|
the way I've built it so far, properly streaming responses is a core focus of
|
|
Comet, even though I barely encounter streamed pages on Gemini.
|
|
|
|
This is the streaming process I want to do, not sure if it makes sense.
|
|
|
|
- `connect/proceed` block and read from the server.
|
|
- Gemtext parts
|
|
- Views are created from Gemtext parts (or a single TextView for text/* files).
|
|
We need some kind of producer/consumer here.
|
|
- The page view is a vertical LinearLayout (should we use a cursed Recycler?).
|
|
New views should be passed to the activity and added at the end of the
|
|
layout (does it work without blinking or other issues?).
|
|
|
|
The data is received through a buffered SSLSocket object.
|
|
|
|
1. Receive data
|
|
2. If we can parse a header, do it.
|