architectureInterface
Interface ClientInterface

All Known Implementing Classes:
Client

public interface ClientInterface

Architecture interface for component Client.

Used to anonymize data (e. g. from a user's application) via a cascade of mixes. Follows the "everything is a stream" concept. From a user perspective, a client shall behaves quite equal to a socket ( java.net.Socket) and therefore abstract from the underlying technique.

Author:
Karl-Peter Fuchs

Method Summary
 void connect()
          Must connect (the implementing) client to the mix cascade.
 void disconnect()
          Must disconnect (the implementing) client from the mix cascade.
 java.io.InputStream getInputStream()
          Must return an InputStream that can be used to receive data anonymously via the mix cascade.
 java.io.OutputStream getOutputStream()
          Must return an OutputStream that can be used to send data anonymously via the mix cascade.
 

Method Detail

connect

void connect()
             throws java.io.IOException
Must connect (the implementing) client to the mix cascade.

Throws:
java.io.IOException - I/O problem occurred.

disconnect

void disconnect()
                throws java.io.IOException
Must disconnect (the implementing) client from the mix cascade.

Throws:
java.io.IOException - I/O problem occurred.

getInputStream

java.io.InputStream getInputStream()
Must return an InputStream that can be used to receive data anonymously via the mix cascade.

Returns:
InputStream that can be used to receive data anonymously.
Throws:
java.io.IOException - I/O problem occurred.

getOutputStream

java.io.OutputStream getOutputStream()
Must return an OutputStream that can be used to send data anonymously via the mix cascade.

Returns:
OutputStream that can be used to send data anonymously.
Throws:
java.io.IOException - I/O problem occurred.