org.apache.nutch.ipc
Class Server

java.lang.Object
  extended byorg.apache.nutch.ipc.Server
Direct Known Subclasses:
NDFS.NameNode

public abstract class Server
extends Object

An abstract IPC service. IPC calls take a single Writable as a parameter, and return a Writable as their value. A service runs on a port and is defined by a parameter class and a value class.

Author:
Doug Cutting
See Also:
Client

Field Summary
static Logger LOG
           
 
Constructor Summary
protected Server(int port, Class paramClass, int handlerCount)
          Constructs a server listening on the named port.
 
Method Summary
abstract  Writable call(Writable param)
          Called for each call.
 void join()
          Wait for the server to be stopped.
 void setTimeout(int timeout)
          Sets the timeout used for network i/o.
 void start()
          Starts the service.
 void stop()
          Stops the service.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

LOG

public static final Logger LOG
Constructor Detail

Server

protected Server(int port,
                 Class paramClass,
                 int handlerCount)
Constructs a server listening on the named port. Parameters passed must be of the named class. The handlerCount determines the number of handler threads that will be used to process calls.

Method Detail

setTimeout

public void setTimeout(int timeout)
Sets the timeout used for network i/o.


start

public void start()
           throws IOException
Starts the service. Must be called before any calls will be handled.

Throws:
IOException

stop

public void stop()
Stops the service. No calls will be handled after this is called. All threads will exit.


join

public void join()
          throws InterruptedException
Wait for the server to be stopped.

Throws:
InterruptedException

call

public abstract Writable call(Writable param)
                       throws IOException
Called for each call.

Throws:
IOException


Copyright © 2006 The Apache Software Foundation