ants
Class Channel

java.lang.Object
  |
  +--ants.Entity
        |
        +--ants.ManagedObject
              |
              +--ants.Channel
Direct Known Subclasses:
StandardInChannel, UDPChannel

public abstract class Channel
extends ManagedObject

Channel used by nodes to exchanged capsule with one another. Might also add a scavenger thread to free long-lived threads before the queue is full but during idle time.


Field Summary
 Node client
           
 int clientAddress
           
protected  Xdr rxbuf
           
 ChannelAddress source
           
protected  Xdr txbuf
           
 
Fields inherited from class ants.ManagedObject
lp
 
Fields inherited from class ants.Entity
defaults, L, logLevel, name
 
Constructor Summary
Channel(Manager b, java.lang.String n, ChannelAddress src)
           
Channel(Manager b, java.lang.String n, ChannelAddress src, int q)
           
 
Method Summary
 void attachNode(Node c)
           
 Capsule decode(Xdr xdr)
           
 Xdr encode(Capsule cap)
           
abstract  int getMTU()
           
 ChannelThread getThread()
           
 ChannelWatchdog getWatchdog()
           
static Channel New(Manager b, java.lang.String n, java.lang.String src)
           
 boolean send(Capsule cap, ChannelAddress dst)
           
 void start()
          a one-time start of the channel only
 
Methods inherited from class ants.ManagedObject
getBoss, log, setBoss, setName
 
Methods inherited from class ants.Entity
assert, error, finalize, getLogLevel, getName, info, setArgs, setArgs, setArgs, setLogLevel, warn
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

source

public ChannelAddress source

client

public Node client

clientAddress

public int clientAddress

txbuf

protected Xdr txbuf

rxbuf

protected Xdr rxbuf
Constructor Detail

Channel

public Channel(Manager b,
               java.lang.String n,
               ChannelAddress src)

Channel

public Channel(Manager b,
               java.lang.String n,
               ChannelAddress src,
               int q)
Method Detail

getMTU

public abstract int getMTU()

getThread

public ChannelThread getThread()

getWatchdog

public ChannelWatchdog getWatchdog()

encode

public Xdr encode(Capsule cap)

decode

public Capsule decode(Xdr xdr)
               throws java.lang.Exception

attachNode

public void attachNode(Node c)

send

public final boolean send(Capsule cap,
                          ChannelAddress dst)

start

public void start()
a one-time start of the channel only
Overrides:
start in class Entity

New

public static Channel New(Manager b,
                          java.lang.String n,
                          java.lang.String src)
                   throws java.lang.Exception