DisTAnz 1.0

DTA.agent
Class RequestHandlerData

java.lang.Object
  |
  +--java.lang.Thread
        |
        +--DTA.agent.RequestHandlerData

public class RequestHandlerData
extends java.lang.Thread

Dient der Beantwortung von Datenanfragen durch einen Manager. Hierzu wird in einem eigenen Thread die Kommunikation mit einem übergebenen Socket-Objekt abgewickelt.

Erstellt: Tue Jun 13 14:12:22 2000

Version:
1.6
Author:
Karsten Römling

Field Summary
private  DataStorage dStorage
          Zum Zugriff auf die Verkehrsflussdaten.
private  java.io.BufferedReader in
          Der herausgehende Datenstrom.
private  java.lang.String inputLine
           
private  ManagerData mData
          Zum Zugriff auf die Managerdaten.
private  java.io.PrintWriter out
          Der hereinkommende Datenstrom.
private  java.lang.String outputLine
           
private  java.net.Socket socket
          Ein Socket-Objekt zur Verwendung im Konstruktor.
 
Fields inherited from class java.lang.Thread
contextClassLoader, daemon, eetop, group, inheritedAccessControlContext, MAX_PRIORITY, MIN_PRIORITY, name, NORM_PRIORITY, priority, single_step, stillborn, stopThreadPermission, target, threadInitNumber, threadQ, values
 
Constructor Summary
RequestHandlerData(java.net.Socket socket, ManagerData mData, DataStorage dStorage)
          Die übergebenen Variablen werden an die Instanzvariablen übergeben, in und out werden initialisiert, der Thread wird gestartet.
 
Method Summary
 void run()
          Liest und schreibt über in und out.
 
Methods inherited from class java.lang.Thread
, activeCount, checkAccess, countStackFrames, currentThread, destroy, dumpStack, enumerate, exit, getContextClassLoader, getName, getPriority, getThreadGroup, init, interrupt, interrupt0, interrupted, isAlive, isDaemon, isInterrupted, isInterrupted, join, join, join, nextThreadNum, registerNatives, resume, resume0, setContextClassLoader, setDaemon, setName, setPriority, setPriority0, sleep, sleep, start, stop, stop, stop0, suspend, suspend0, toString, yield
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

socket

private java.net.Socket socket
Ein Socket-Objekt zur Verwendung im Konstruktor.

in

private java.io.BufferedReader in
Der herausgehende Datenstrom.

out

private java.io.PrintWriter out
Der hereinkommende Datenstrom.

mData

private ManagerData mData
Zum Zugriff auf die Managerdaten.

dStorage

private DataStorage dStorage
Zum Zugriff auf die Verkehrsflussdaten.

inputLine

private java.lang.String inputLine

outputLine

private java.lang.String outputLine
Constructor Detail

RequestHandlerData

public RequestHandlerData(java.net.Socket socket,
                          ManagerData mData,
                          DataStorage dStorage)
                   throws java.io.IOException
Die übergebenen Variablen werden an die Instanzvariablen übergeben, in und out werden initialisiert, der Thread wird gestartet.
Parameters:
s - Der 'Socket' der durch die Verbindungsanforderung erzeugt wurde.
mData - Eine Instanz von ManagerData, zur Speicherung der Managerdaten.
dStorage - Eine Instanz von DataStorage, zum Zugriff auf die Verkehrsflussdaten.
Throws:
java.io.IOException - falls ein Fehler auftritt.
Method Detail

run

public void run()

Liest und schreibt über in und out. Die Kommunikation wird wird mit Hilfe einer Instanz der Klasse DTAProtocol abgewickelt. Kommt ein OK vom Protokoll zurück, werden in, out und socket geschlossen, und der Thread wird beendet.

Ablauf: Den Zeitpunkt merken, eine Protokollinstanz erzeugen, diese übernimmt die Kontrolle. Daten holen, Zeiten umrechnen, etc werden dann davon übernommen.

Overrides:
run in class java.lang.Thread

DisTAnz 1.0

Copyright 2000 I. Rekik, M. Zouari, C. Apachite, K. Römling, S. Henze
All rights reserved.