inputOutputHandler
Class NextMixConnectionHandler

java.lang.Object
  extended by java.lang.Thread
      extended by inputOutputHandler.NextMixConnectionHandler
All Implemented Interfaces:
java.lang.Runnable

final class NextMixConnectionHandler
extends java.lang.Thread

Handles communication with the next mix in the cascade.

Establishes a (TCP) connection with the next mix which is used to transmit messages (Requests and Replyies) of all users connected to the cascade's fist mix (multiplex channel).

(De-)multiplexes Requests/Replyies using an (encrypted) header (see generateInterMixHeader()).

Replyies are put in the InputOutputHandlerController's replyInputQueue (see InputOutputHandlerController.addUnprocessedReply()). Requests are taken from the InputOutputHandlerController's requestOutputQueue (see InputOutputHandlerController.getProcessedRequest()).

Note: Authentication is NOT implemented!

Author:
Karl-Peter Fuchs

Nested Class Summary
 
Nested classes/interfaces inherited from class java.lang.Thread
java.lang.Thread.State, java.lang.Thread.UncaughtExceptionHandler
 
Field Summary
 
Fields inherited from class java.lang.Thread
MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY
 
Constructor Summary
protected NextMixConnectionHandler(InputOutputHandlerController inputOutputHandler, UserDatabaseController userDatabase, ExternalInformationPortController externalInformationPort)
          Constructs a new NextMixConnectionHandler which handles communication with the next mix in the cascade.
 
Method Summary
 void run()
          Sends processed messages (Requests) to next mix.
 
Methods inherited from class java.lang.Thread
activeCount, checkAccess, countStackFrames, currentThread, destroy, dumpStack, enumerate, getAllStackTraces, getContextClassLoader, getDefaultUncaughtExceptionHandler, getId, getName, getPriority, getStackTrace, getState, getThreadGroup, getUncaughtExceptionHandler, holdsLock, interrupt, interrupted, isAlive, isDaemon, isInterrupted, join, join, join, resume, setContextClassLoader, setDaemon, setDefaultUncaughtExceptionHandler, setName, setPriority, setUncaughtExceptionHandler, sleep, sleep, start, stop, stop, suspend, toString, yield
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

NextMixConnectionHandler

protected NextMixConnectionHandler(InputOutputHandlerController inputOutputHandler,
                                   UserDatabaseController userDatabase,
                                   ExternalInformationPortController externalInformationPort)
Constructs a new NextMixConnectionHandler which handles communication with the next mix in the cascade.

Establishes a (TCP) connection with the next mix which is used to transmit messages (Requests and Replyies) of all users connected to the cascade's fist mix (multiplex channel).

(De-)multiplexes Requests/Replyies using an (encrypted) header (see generateInterMixHeader()).

Replyies are put in the InputOutputHandlerController's replyInputQueue (see InputOutputHandlerController.addUnprocessedReply()). Requests are taken from the InputOutputHandlerController's requestOutputQueue (see InputOutputHandlerController.getProcessedRequest()).

Note: Authentication is NOT implemented!

Method Detail

run

public void run()
Sends processed messages (Requests) to next mix.

Specified by:
run in interface java.lang.Runnable
Overrides:
run in class java.lang.Thread
See Also:
InputOutputHandlerController.getProcessedRequest()