class

EasyAwscr::S3::Internals::SyncChunkUploader

Inherits EasyAwscr::S3::Internals::ChunkedIO::Handler < Reference < Object

If performance is relevant, AsyncChunkUploader should be much better. However, this implementation is straightforward; benefits are blocking behavior and minimal memory overhead. It can also be useful for debugging purposes, since it avoids a lot of complexity of the other multi-worker implementation.

Constructors

new(client : Client, bucket : String, object : String, headers : Hash(String, String) = Hash(String, String).new)
Source

Instance methods

close

Will be called once after the last write operation.

Source
open

Will be called once before the first write operation.

Source
write(buffer : IO::Memory) : IO::Memory | Nil

Can be called multiple times. The input is the current chunk. The implementer can either process it synchronously or asynchronously. Optionally, the function can return a buffer (either the input buffer or another buffer of equal size) that the ChunkedIO class can reuse. However, it is always safe to return nil and let the class reallocate a new buffer instead.

Source