Class RetryableSink

  • All Implemented Interfaces:
    Closeable, Flushable, AutoCloseable, Sink

    public final class RetryableSink
    extends Object
    implements Sink
    An HTTP request body that's completely buffered in memory. This allows the post body to be transparently re-sent if the HTTP request must be sent multiple times.
    • Constructor Detail

      • RetryableSink

        public RetryableSink​(int limit)
      • RetryableSink

        public RetryableSink()
    • Method Detail

      • close

        public void close()
                   throws IOException
        Description copied from interface: Sink
        Pushes all buffered bytes to their final destination and releases the resources held by this sink. It is an error to write a closed sink. It is safe to close a sink more than once.
        Specified by:
        close in interface AutoCloseable
        Specified by:
        close in interface Closeable
        Specified by:
        close in interface Sink
        Throws:
        IOException
      • write

        public void write​(Buffer source,
                          long byteCount)
                   throws IOException
        Description copied from interface: Sink
        Removes byteCount bytes from source and appends them to this.
        Specified by:
        write in interface Sink
        Throws:
        IOException
      • flush

        public void flush()
                   throws IOException
        Description copied from interface: Sink
        Pushes all buffered bytes to their final destination.
        Specified by:
        flush in interface Flushable
        Specified by:
        flush in interface Sink
        Throws:
        IOException - if there are any issues writing the data.
      • timeout

        public Timeout timeout()
        Description copied from interface: Sink
        Returns the timeout for this sink.
        Specified by:
        timeout in interface Sink