Files
briar/briar-api/src/org/briarproject/api/reliability/ReliabilityLayer.java

38 lines
1.1 KiB
Java

package org.briarproject.api.reliability;
import java.io.InputStream;
import java.io.OutputStream;
/**
* A protocol layer that attempts to ensure reliable, ordered delivery of data
* across an unreliable lower layer. Interactions with the lower layer use the
* buffer-oriented {@link ReadHandler} and {@link WriteHandler} interfaces; the
* reliability layer presents stream-oriented
* {@link java.io.InputStream InputStream} and
* {@link java.io.OutputStream OutputStream} interfaces to higher layers.
*/
public interface ReliabilityLayer extends ReadHandler {
/** Starts the reliability layer. */
void start();
/**
* Stops the reliability layer. After this method returns, no more data
* will be sent to lower layers, and any data received from lower layers
* will be ignored.
*/
void stop();
/**
* Returns an input stream for higher layers to read from the reliability
* layer.
*/
InputStream getInputStream();
/**
* Returns an output stream for higher layers to write to the reliability
* layer.
*/
OutputStream getOutputStream();
}