Uses of Class
userDatabase.User

Packages that use User
architectureInterface Provides all interfaces, given by this mix' software architecture for each component ("NameOfComponent"Interface.java). 
inputOutputHandler InputOutputHandler component - Handles (mix) message-based connections (see package Message) with communication partners (clients, other mixes and proxy servers) and therefore abstracts from the physic communication channels. 
message Provides different message formats, the InputOutputHandler is capable of transmitting. 
messageProcessor MessageProcessor component - Takes messages from component InputOutputHandler, processes them (recoding, checking for replays, removing/adding padding, initiating message authentication) and bypasses them to component OutputStrategy
userDatabase User Database component - Used to store user-specific data (for example identifiers, session keys or buffers) 
 

Uses of User in architectureInterface
 

Methods in architectureInterface that return User
 User UserDatabaseInterface.getUser(int identifier)
          Must return the User with the bypassed identifier.
 User UserDatabaseInterface.getUserByNextMixIdentifier(int nextMixIdentifier)
          Must return the User with the bypassed identifier.
 

Methods in architectureInterface that return types with arguments of type User
 java.util.Collection<User> UserDatabaseInterface.getActiveUsers()
          Must return all Users currently active.
 

Methods in architectureInterface with parameters of type User
 void UserDatabaseInterface.addUser(User user)
          Must add the bypassed User to the internal database.
 

Uses of User in inputOutputHandler
 

Fields in inputOutputHandler with type parameters of type User
private  java.util.LinkedList<User> ClientConnectionHandler.writeRequests
          List of Users with data ready to be sent.
 

Methods in inputOutputHandler that return User
private  User PreviousMixConnectionHandler.createNewUser(int userIdentifier)
          Creates a new User with the bypassed identifier.
 

Methods in inputOutputHandler with parameters of type User
private  void ReplyDecision.generateReplyBatch(User[] channels)
          Decides about the optimal reply size and time depending on the current traffic situation for the bypassed channels/users.
private  int[] ReplyDecision.getVolumeForEachChannel(User[] channels)
          Returns an array containing the amount of data currently available in each bypassed channel.
private  boolean PreviousMixConnectionHandler.isAllowedToSendChannelMessage(User user)
          Indicates whether the bypassed user is allowed to send a message or not.
protected  void ReplyDecision.manageReplyProcess(User[] channels)
          Decides about the optimal reply size and time depending on the current traffic situation for the bypassed channels/users.
private  void ReplyDecision.processMessages(int replySize, User[] channels)
          Generates Replyies and passes them to the InputOutputHandlerController.
private  ChannelEstablishMessage PreviousMixConnectionHandler.readChannelEstablishMessage(byte[] blockWithHeader, User user)
          Reads a ChannelEstablishMessage from the previous mix, generates a ChannelEstablishMessage object and returns it.
private  ChannelMessage PreviousMixConnectionHandler.readChannelMessage(byte[] blockWithHeader, User user)
          Reads a ChannelMessage from the previous mix, generates a ChannelMessage object and returns it.
 

Uses of User in message
 

Fields in message declared as User
private  User Message.channel
          Reference on the user/channel. this message belongs to.
 

Methods in message that return User
 User Message.getChannel()
          Returns a reference on the channel/user this message belongs to.
 User BasicMessage.getChannel()
          Must return a reference on the channel/user this message belongs to.
 

Constructors in message with parameters of type User
ChannelEstablishMessage(byte[] byteMesssage, User channel, int numberOfFurtherHops)
          Message constructor used by a mix.
ChannelMessage(byte[] byteMesssage, User channel, int numberOfFurtherHops)
          Message constructor used by a mix.
ChannelReleaseMessage(User channel)
          Constructs a new ChannelReleaseMessage for the specified user/channel.
Message(byte[] byteMesssage, User channel, int startIndexOfPayload, int payloadLength)
          Message constructor used by mix.
ReplyMessage(byte[] byteMesssage, User user)
          Constructs a new ReplyMessage with the submitted content (byteMesssage) for the bypassed user/channel.
 

Uses of User in messageProcessor
 

Methods in messageProcessor with parameters of type User
private  void Recoder.initializeCiphersForUser(User channel, ChannelEstablishMessage message)
          Initializes the ciphers used to recode messages for the bypassed user/channel.
 

Uses of User in userDatabase
 

Fields in userDatabase with type parameters of type User
private  java.util.Hashtable<java.lang.Integer,User> UserDatabaseController.localUserIDs
          Hashtable containing references on all available Users, retrievable via a local user identifier (Integer).
private  java.util.Hashtable<java.lang.Integer,User> UserDatabaseController.nextMixUserIDs
          Hashtable containing references on all available Users, retrievable via a the next mix' user identifier (Integer).
 

Methods in userDatabase that return User
 User UserDatabaseController.getUser(int identifier)
          Returns the User with the bypassed identifier.
 User UserDatabaseController.getUserByNextMixIdentifier(int nextMixIdentifier)
          Returns the User with the bypassed identifier.
 

Methods in userDatabase that return types with arguments of type User
 java.util.Collection<User> UserDatabaseController.getActiveUsers()
          Returns all Users that are currently active.
 

Methods in userDatabase with parameters of type User
 void UserDatabaseController.addUser(User user)
          Adds the bypassed User to the internal database.