toolbus
Class AbstractTool
java.lang.Object
toolbus.AbstractTool
- All Implemented Interfaces:
- java.lang.Runnable, IOperations, Tool
- Direct Known Subclasses:
- SwingTool
public abstract class AbstractTool
- extends java.lang.Object
- implements Tool, java.lang.Runnable, IOperations
Fields inherited from interface toolbus.IOperations |
ACKDO, ACKEVENT, CONNECT, DEBUGPERFORMANCESTATS, DISCONNECT, DO, END, EVAL, EVENT, PERFORMANCESTATS, REQUEST, RESPONSE, TERMINATE, UNDEFINED, VALUE |
Constructor Summary |
AbstractTool(aterm.ATermFactory factory)
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
HANDSHAKEBUFFERSIZE
private static final int HANDSHAKEBUFFERSIZE
- See Also:
- Constant Field Values
writeBuffer
private final java.nio.ByteBuffer writeBuffer
readBuffer
private final java.nio.ByteBuffer readBuffer
socketChannel
private java.nio.channels.SocketChannel socketChannel
factory
protected final aterm.ATermFactory factory
toolname
private java.lang.String toolname
toolid
private int toolid
host
private java.lang.String host
port
private int port
threadLocalQueues
private final java.util.Map<java.lang.Long,AbstractTool.ThreadLocalJobQueue> threadLocalQueues
queues
private final java.util.Map<java.lang.String,AbstractTool.JobQueue> queues
workerQueue
private final AbstractTool.WorkerQueue workerQueue
empty
private aterm.ATerm empty
lockObject
private java.lang.Object lockObject
running
private volatile boolean running
connected
private boolean connected
expectingDisconnect
private boolean expectingDisconnect
AbstractTool
public AbstractTool(aterm.ATermFactory factory)
init
public void init(java.lang.String[] args)
throws java.net.UnknownHostException
- Specified by:
init
in interface Tool
- Throws:
java.net.UnknownHostException
setLockObject
public void setLockObject(java.lang.Object lockObject)
- Specified by:
setLockObject
in interface Tool
getLockObject
public java.lang.Object getLockObject()
- Specified by:
getLockObject
in interface Tool
connect
public void connect()
throws java.io.IOException
- Specified by:
connect
in interface Tool
- Throws:
java.io.IOException
connect
public void connect(java.lang.String tool_name,
java.net.InetAddress address,
int p)
throws java.io.IOException
- Specified by:
connect
in interface Tool
- Throws:
java.io.IOException
disconnect
public void disconnect()
- Specified by:
disconnect
in interface Tool
isConnected
public boolean isConnected()
- Specified by:
isConnected
in interface Tool
getPort
public int getPort()
getAddress
public java.net.InetAddress getAddress()
writeTermToChannel
private void writeTermToChannel(aterm.ATerm aTerm,
java.nio.ByteBuffer byteBuffer)
throws java.io.IOException
- Throws:
java.io.IOException
readTermFromChannel
private aterm.ATerm readTermFromChannel(java.nio.ByteBuffer byteBuffer)
throws java.io.IOException
- Throws:
java.io.IOException
shakeHands
private void shakeHands()
throws java.io.IOException
- Throws:
java.io.IOException
sendTerm
private void sendTerm(byte operation,
aterm.ATerm term)
readTerm
public AbstractTool.OperationTermPair readTerm()
throws java.io.IOException
- Throws:
java.io.IOException
setRunning
private void setRunning(boolean state)
run
public void run()
- Specified by:
run
in interface java.lang.Runnable
stopRunning
public void stopRunning()
handleIncomingTerm
public void handleIncomingTerm()
throws java.io.IOException
- Throws:
java.io.IOException
handleIncomingTerm
public void handleIncomingTerm(byte operation,
aterm.ATerm t)
handleTerm
protected void handleTerm(byte operation,
aterm.ATerm t)
sendTerm
public void sendTerm(aterm.ATerm term)
throws java.io.IOException
- Specified by:
sendTerm
in interface Tool
- Throws:
java.io.IOException
sendEvent
public void sendEvent(aterm.ATerm term)
- Specified by:
sendEvent
in interface Tool
postEvent
public void postEvent(aterm.ATerm term)
- Specified by:
postEvent
in interface Tool
postRequest
public aterm.ATerm postRequest(aterm.ATerm term)
- Specified by:
postRequest
in interface Tool
ackEvent
private void ackEvent(aterm.ATermList ackEvent)
closeConnection
private void closeConnection()
getPerformanceStats
private aterm.ATerm getPerformanceStats()
- Gathers performance statistics about this tool, like memory usage and the user-/system-time
spend per thread.
- Returns:
- performance statictics.