peterson
Class ServerConnectionMaker

java.lang.Object
  extended by java.lang.Thread
      extended by peterson.ServerConnectionMaker
All Implemented Interfaces:
java.lang.Runnable

public class ServerConnectionMaker
extends java.lang.Thread

De thread die connecties maakt met linkerburen. Als een connectie is gemaakt, stopt hij deze in de, met het electieproces gedeelde, queue en doet hij een vrij operatie op de, eveneens met het electieproces gedeelde, semafoor. Nu weet het proces dat er een nieuwe client is en kan hij deze uit de queue halen.

Author:
pjede

Nested Class Summary
 
Nested classes/interfaces inherited from class java.lang.Thread
java.lang.Thread.State, java.lang.Thread.UncaughtExceptionHandler
 
Field Summary
private  Semafoor beschikbareKanalen
           
private  int poort
           
private  java.net.ServerSocket serverSocket
           
private  Queue sockets
           
 
Fields inherited from class java.lang.Thread
MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY
 
Constructor Summary
ServerConnectionMaker(int poort, Semafoor beschikbareKanalen, Queue sockets)
          Maakt een object aan waarmee connecties met clients kunnen worden geaccepteerd, ofwel waarmee connecties met linkerburen kan worden gemaakt.
 
Method Summary
protected  java.net.ServerSocket getServer()
           
private  java.net.ServerSocket makeServer()
          Zet de server op.
 Kanaal nieuweBuur(java.net.ServerSocket serverSocket)
          Accepteert de verbinding met een nieuwe client.
 void run()
          Zodra de thread gestart wordt, gaat hij, zolang het algoritme niet is ge�indigd, nieuwe clienten accepteren en deze in een, met het proces, gedeelde queue.
 
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
 

Field Detail

beschikbareKanalen

private Semafoor beschikbareKanalen

poort

private int poort

sockets

private Queue sockets

serverSocket

private java.net.ServerSocket serverSocket
Constructor Detail

ServerConnectionMaker

public ServerConnectionMaker(int poort,
                             Semafoor beschikbareKanalen,
                             Queue sockets)
Maakt een object aan waarmee connecties met clients kunnen worden geaccepteerd, ofwel waarmee connecties met linkerburen kan worden gemaakt.

Parameters:
poort - de poort waarna deze server aan de linkerzijde luistert/bereikbaar is
Method Detail

run

public void run()
Zodra de thread gestart wordt, gaat hij, zolang het algoritme niet is ge�indigd, nieuwe clienten accepteren en deze in een, met het proces, gedeelde queue.

Specified by:
run in interface java.lang.Runnable
Overrides:
run in class java.lang.Thread

makeServer

private java.net.ServerSocket makeServer()
Zet de server op.

Returns:
de socket waar de server te vinden is

getServer

protected java.net.ServerSocket getServer()

nieuweBuur

public Kanaal nieuweBuur(java.net.ServerSocket serverSocket)
Accepteert de verbinding met een nieuwe client.

Returns:
De nieuwe socket waarmee de server in contact is gekomen.
Throws:
java.io.IOException