anon.client
Class Multiplexer

java.lang.Object
  extended by java.util.Observable
      extended by anon.client.Multiplexer
All Implemented Interfaces:
java.lang.Runnable

public class Multiplexer
extends java.util.Observable
implements java.lang.Runnable

Author:
Stefan Lieske

Field Summary
private  boolean m_bClosed
           
private  ChannelTable m_channelTable
           
private  ControlChannelCipher m_controlchannelCiper
           
private  java.util.Vector m_controlMessageQueue
           
private  java.io.InputStream m_inputStream
           
private  SymCipher m_inputStreamCipher
           
private  java.lang.Object m_internalEventSynchronization
           
private  java.io.OutputStream m_outputStream
           
private  SymCipher m_outputStreamCipher
           
private  java.util.Vector m_sendJobQueue
           
private  java.lang.Object m_waitQueueObject
           
 
Constructor Summary
Multiplexer(java.io.InputStream a_inputStream, java.io.OutputStream a_outputStream, KeyExchangeManager a_keyExchangeManager, java.security.SecureRandom a_channelIdGenerator)
           
 
Method Summary
protected  void close()
           
 ChannelTable getChannelTable()
           
 ControlChannelCipher getControlChannelCipher()
           
 void run()
           
 void sendPacket(MixPacket a_mixPacket)
           
 
Methods inherited from class java.util.Observable
addObserver, clearChanged, countObservers, deleteObserver, deleteObservers, hasChanged, notifyObservers, notifyObservers, setChanged
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

m_sendJobQueue

private java.util.Vector m_sendJobQueue

m_controlMessageQueue

private java.util.Vector m_controlMessageQueue

m_waitQueueObject

private java.lang.Object m_waitQueueObject

m_channelTable

private ChannelTable m_channelTable

m_inputStream

private java.io.InputStream m_inputStream

m_outputStream

private java.io.OutputStream m_outputStream

m_inputStreamCipher

private SymCipher m_inputStreamCipher

m_outputStreamCipher

private SymCipher m_outputStreamCipher

m_controlchannelCiper

private ControlChannelCipher m_controlchannelCiper

m_internalEventSynchronization

private java.lang.Object m_internalEventSynchronization

m_bClosed

private boolean m_bClosed
Constructor Detail

Multiplexer

public Multiplexer(java.io.InputStream a_inputStream,
                   java.io.OutputStream a_outputStream,
                   KeyExchangeManager a_keyExchangeManager,
                   java.security.SecureRandom a_channelIdGenerator)
Method Detail

sendPacket

public void sendPacket(MixPacket a_mixPacket)
                throws java.io.IOException
Throws:
java.io.IOException

close

protected void close()

run

public void run()
Specified by:
run in interface java.lang.Runnable

getChannelTable

public ChannelTable getChannelTable()

getControlChannelCipher

public ControlChannelCipher getControlChannelCipher()