Package fr.dyade.aaa.agent
Class NGNetwork
- java.lang.Object
-
- fr.dyade.aaa.agent.Network
-
- fr.dyade.aaa.agent.StreamNetwork
-
- fr.dyade.aaa.agent.NGNetwork
-
- All Implemented Interfaces:
MessageComparator,MessageConsumer,NetworkMBean
public class NGNetwork extends StreamNetwork
NGNetworkis a new implementation ofNetworkclass using nio package.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description (package private) classNGNetwork.CnxHandler(package private) classNGNetwork.Dispatcher(package private) classNGNetwork.MessageVector(package private) classNGNetwork.NetServer-
Nested classes/interfaces inherited from class fr.dyade.aaa.agent.Network
Network.NetworkAverageLoadTask
-
-
Field Summary
Fields Modifier and Type Field Description (package private) NGNetwork.Dispatcherdispatcher(package private) NGNetwork.NetServer[]dmon(package private) NGNetwork.CnxHandler[]handlers(package private) static intKb(package private) ServerSocketChannellisten(package private) static intMb(package private) static intNbNetServer(package private) Selectorselector(package private) static intSO_BUFSIZE-
Fields inherited from class fr.dyade.aaa.agent.StreamNetwork
backlog, CnxRetry, ConnectTimeout, inLocalAddr, outLocalAddr, outLocalPort, serverSocketFactory, socketFactory, SoLinger, SoTimeout, TcpNoDelay
-
Fields inherited from class fr.dyade.aaa.agent.Network
ALREADY_DELIVERED, averageLoadTask, bootTSFN, DEBUG, DELIVER, domain, idxLS, logger, name, nbMessageIn, nbMessageOut, port, qout, servers, serversFN, sid, WDActivationPeriod, WDNbRetryLevel1, WDNbRetryLevel2, WDRetryPeriod1, WDRetryPeriod2, WDRetryPeriod3
-
-
Constructor Summary
Constructors Constructor Description NGNetwork()Creates a new network component.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description (package private) voidclose()(package private) voidcnxStart(SocketChannel channel)(package private) NGNetwork.CnxHandlergetHandler(short sid)voidinit(String name, int port, short[] servers)Initializes a new network component.booleanisRunning()Tests if the network component is alive.(package private) voidopen()voidstart()Causes this network component to begin execution.voidstop()Forces the network component to stop executing.StringtoString()Returns a string representation of this consumer, including the daemon's name and status.voidwakeup()Wakes up the watch-dog thread.-
Methods inherited from class fr.dyade.aaa.agent.StreamNetwork
createServerSocket, createServerSocket, createSocket, createSocket, createSocket, setProperties, setSocketOption
-
Methods inherited from class fr.dyade.aaa.agent.Network
addServer, channelPostAndValidate, checkActive, delete, deleteMessage, deliver, delServer, getAverageLoad1, getAverageLoad15, getAverageLoad5, getBootTS, getDomainName, getMessageDest, getMessageSource, getName, getNbMessageReceived, getNbMessageSent, getNbWaitingMessages, getPort, getQueue, getStamp, getWDActivationPeriod, getWDNbRetryLevel1, getWDNbRetryLevel2, getWDRetryPeriod1, getWDRetryPeriod2, getWDRetryPeriod3, index, insert, isPrior, post, postAndValidate, postMessage, prepareMessage, prepareMessageWithoutStamp, resetServer, restore, save, saveChannel, setMessageSource, setPort, setStamp, setWDActivationPeriod, setWDNbRetryLevel1, setWDNbRetryLevel2, setWDRetryPeriod1, setWDRetryPeriod2, setWDRetryPeriod3, testBootTS, testRecvUpdate, validate, validateChannel
-
-
-
-
Field Detail
-
Kb
static final int Kb
- See Also:
- Constant Field Values
-
Mb
static final int Mb
- See Also:
- Constant Field Values
-
SO_BUFSIZE
static final int SO_BUFSIZE
- See Also:
- Constant Field Values
-
selector
Selector selector
-
dispatcher
NGNetwork.Dispatcher dispatcher
-
dmon
NGNetwork.NetServer[] dmon
-
NbNetServer
static final int NbNetServer
- See Also:
- Constant Field Values
-
handlers
NGNetwork.CnxHandler[] handlers
-
listen
ServerSocketChannel listen
-
-
Method Detail
-
init
public void init(String name, int port, short[] servers) throws Exception
Initializes a new network component. This method is used in order to easily creates and configure a Network component from a class name. So we can use theClass.newInstance()method for create (whitout any parameter) the component, then we can initialize it with this method.
This method initializes the logical clock for the domain.- Overrides:
initin classStreamNetwork- Parameters:
name- The domain name.port- The listen port.servers- The list of servers directly accessible from this network interface.- Throws:
Exception- an error occurs.- See Also:
Network
-
open
void open() throws IOException
- Throws:
IOException
-
close
void close()
-
start
public void start() throws ExceptionCauses this network component to begin execution.- Throws:
Exception- an error occurs.- See Also:
MessageConsumer.stop()
-
getHandler
final NGNetwork.CnxHandler getHandler(short sid)
-
wakeup
public void wakeup()
Wakes up the watch-dog thread.
-
stop
public void stop()
Forces the network component to stop executing.- See Also:
MessageConsumer.start()
-
isRunning
public boolean isRunning()
Tests if the network component is alive.- Returns:
- true if this
MessageConsumeris alive; false otherwise.
-
toString
public String toString()
Returns a string representation of this consumer, including the daemon's name and status.- Specified by:
toStringin interfaceNetworkMBean- Overrides:
toStringin classNetwork- Returns:
- A string representation of this consumer.
-
cnxStart
void cnxStart(SocketChannel channel) throws IOException
- Throws:
IOException
-
-