Package org.globus.ftp

# Interface DataSink

All Known Implementing Classes:
  `DataSinkStream`, `FileRandomIO`, `InputStreamDataSink`

public interface DataSink
Data channel uses this interface to write the incoming data. Implement it to provide your own ways of storing data. It must be thread safe; in parallel transfer mode several streams may attempt to write.

## Method Summary

Modifier and Type
Method
Description
`void`
`close()`
Closes this data sink and releases any system resources associated with this sink.
`void`
`write(Buffer buffer)`
Writes the specified buffer to this data sink.

## Method Details

### write

void write(Buffer buffer) throws IOException
Writes the specified buffer to this data sink.
Note: `buffer.getOffset()` might return -1 if the transfer mode used does not support data offsets, for example stream transfer mode.

Parameters:
  `buffer` - the data buffer to write.
Throws:
  `IOException` - if an I/O error occurs.

### close

void close() throws IOException
Closes this data sink and releases any system resources associated with this sink.

Throws:
  `IOException` - if an I/O error occurs.