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

Document Base.BufferStream #42424

Open
omus opened this issue Sep 29, 2021 · 3 comments
Open

Document Base.BufferStream #42424

omus opened this issue Sep 29, 2021 · 3 comments
Labels
io Involving the I/O subsystem: libuv, read, write, etc.

Comments

@omus
Copy link
Member

omus commented Sep 29, 2021

@vtjnash mentioned that Base.BufferStream should be exported. Before we do that we should document how this IO type is expected to be used.

Currently this IO type works differently from other more common IO types like IOBuffer and IOStream:

@omus omus added the docs This change adds or pertains to documentation label Sep 29, 2021
@omus
Copy link
Member Author

omus commented Sep 29, 2021

IOBuffer() is a file-like object, so it is incompatible with streaming modification. Use BufferStream for a stream-like object.
JuliaCloud/AWS.jl#433 (comment)

Based upon this comment we may want to have the abstract types FileIO <: IO and StreamIO <: IO to be able to dispatch against these two different approaches. Note: the existence of FileIO.jl probably means we will probably need to chose another name.

@vtjnash
Copy link
Member

vtjnash commented Sep 29, 2021

It seems that mark/reset methods just need to be implemented (pass-through to the underlying IOBuffer)

@c42f
Copy link
Member

c42f commented Feb 21, 2022

A couple of potential BufferStream issues I've noticed:

@vtjnash vtjnash added io Involving the I/O subsystem: libuv, read, write, etc. and removed docs This change adds or pertains to documentation labels Feb 22, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
io Involving the I/O subsystem: libuv, read, write, etc.
Projects
None yet
Development

No branches or pull requests

3 participants