drcl.inet.core
Class sIGMP
java.lang.Object
|
+--drcl.DrclObj
|
+--drcl.comp.Component
|
+--drcl.net.Module
|
+--drcl.inet.Protocol
|
+--drcl.inet.core.sIGMP
- All Implemented Interfaces:
- java.lang.Cloneable, InetConstants, ObjectDuplicable, java.io.Serializable
- public class sIGMP
- extends Protocol
A very preliminary IGMP protocol.
This component only implements REPORT and LEAVE. REPORT retransmission and QUERY
are not implemented. And this component can be used in both a host and a router.
Contracts:
Reference:
- Version:
- 1.0, 7/9/2001
- Author:
- Hung-ying Tyan
- See Also:
- Serialized Form
|
Field Summary |
static int |
IGMP_MESSAGE_SIZE
IGMP message size (RFC2236). |
static int |
LEAVE
Leave Group message type (RFC2236). |
static int |
QUERY
Membership Query message type (RFC2236). |
static int |
REPORT
Version 2 Membership Report message type (RFC2236). |
static int |
REPORT1
Version 1 Membership Report message type (RFC2236). |
| Fields inherited from class drcl.comp.Component |
FLAG_COMPONENT_NOTIFICATION, FLAG_DEBUG_ENABLED, FLAG_DIRECT_OUTPUT_ENABLED, FLAG_ENABLED, FLAG_ERROR_ENABLED, FLAG_EVENT_ENABLED, FLAG_GARBAGE_DISPLAY_ENABLED, FLAG_GARBAGE_ENABLED, FLAG_PORT_NOTIFICATION, FLAG_STARTED, FLAG_STOPPED, FLAG_TRACE_ENABLED, FLAG_UNDEFINED_START, id, infoPort, lockHead, name, parent, PortGroup_DEFAULT_GROUP, PortGroup_EVENT, PortGroup_SERVICE, Root, Trace_DATA, Trace_SEND |
| Fields inherited from interface drcl.inet.InetConstants |
BYTE_MODE, DEFAULT_BANDWIDTH, DEFAULT_BUFFER_SIZE, DEFAULT_MTU, EVENT_ID_CHANGED_PORT_ID, EVENT_IDENTITY_ADDED, EVENT_IDENTITY_REMOVED, EVENT_IF_NEIGHBOR_DOWN, EVENT_IF_NEIGHBOR_UP, EVENT_IF_PORT_ID, EVENT_MCAST_HOST_PORT_ID, EVENT_PKT_ARRIVAL, EVENT_PKT_ARRIVAL_PORT_ID, EVENT_RT_ENTRY_ADDED, EVENT_RT_ENTRY_MODIFIED, EVENT_RT_ENTRY_REMOVED, EVENT_RT_MCAST_CHANGED_PORT_ID, EVENT_RT_UCAST_CHANGED_PORT_ID, EVENT_VIF_NEIGHBOR_DOWN, EVENT_VIF_NEIGHBOR_UP, EVENT_VIF_PORT_ID, HOST_ENTRY_EXT, ID_CSL, MCAST_QUERY_PORT_ID, PACKET_MODE, PID_DV, PID_DVMRP, PID_HELLO, PID_IGMP, PID_OSPF, PID_RSVP, PID_TCP, PID_UDP, SERVICE_CONFIGSW_PORT_ID, SERVICE_ID_PORT_ID, SERVICE_IF_PORT_ID, SERVICE_MCAST_PORT_ID, SERVICE_RT_PORT_ID, UCAST_QUERY_PORT_ID |
|
Constructor Summary |
sIGMP()
|
sIGMP(java.lang.String id_)
|
|
Method Summary |
protected void |
dataArriveAtDownPort(java.lang.Object msg_,
Port downPort_)
The handler invoked when a packet arrives at a "down" port. |
void |
duplicate(java.lang.Object source_)
Duplicates the content of source_, including ID, name, child components and
connections among them, to this component. |
java.lang.String |
getName()
Returns the (informational) name of the component. |
java.lang.String |
info()
Provide multicast group membership information on each interface. |
void |
join(long group_)
Makes this host joins the multicast group. |
void |
leave(long group_)
Makes this host leaves the multicast group. |
protected void |
process(java.lang.Object data_,
Port inPort_)
This method classifies inPort_ and delegates process of data
to the appropriate handler. |
protected void |
processOther(java.lang.Object data_,
Port inPort_)
The handler invoked when a packet arrived at a port other than the
"up", "down" and timer ports. |
void |
reset()
Resets the component for being used anew. |
| Methods inherited from class drcl.inet.Protocol |
broadcast, broadcast, broadcast, broadcast, broadcast, broadcast, createConfigSwitchPort, createIDChangedEventPort, createIDServicePort, createIFEventPort, createIFQueryPort, createMcastHostEventPort, createMcastQueryPort, createMulticastRTChangedEventPort, createPktArrivalEventPort, createRTServicePort, createUcastQueryPort, createUnicastRTChangedEventPort, createVIFEventPort, forward, forward, forward, forward, forward, forward, idAddedEventHandler, idRemovedEventHandler, mcastHostJoinEventHandler, mcastHostLeaveEventHandler, mcastQueryHandler, neighborDownEventHandler, neighborUpEventHandler, pktArrivalHandler, rtAddedEventHandler, rtModifiedEventHandler, rtRemovedEventHandler, ucastQueryHandler, vNeighborDownEventHandler, vNeighborUpEventHandler |
| Methods inherited from class drcl.net.Module |
cancelTimeout, dataArriveAtUpPort, deliver, getAddress, removeDefaultDownPort, removeDefaultUpPort, removeTimerPort, setAddress, setTimeout, setTimeoutAt, timeout |
| Methods inherited from class drcl.comp.Component |
_resume, _start, _stop, addComponent, addComponent, addEventPort, addEventPort, addForkPort, addPort, addPort, addPort, addPort, addPort, addPort, addPort, addPort, addServerPort, addServerPort, cancelFork, componentAdded, componentRemoved, connect, containsComponent, containsComponent, containsPort, debug, disconnectAll, disconnectAllPeers, disconnectAllPorts, drop, drop, error, error, expose, exposeEventPorts, exposePort, exposePort, exposePort, exposePort, exposePort, findAvailable, findAvailable, findAvailable, finishing, fork, forkAt, getAllComponents, getAllPorts, getAllPorts, getAllWiresInside, getAllWiresInsideOut, getAllWiresOut, getComponent, getComponentFlag, getComponentFlag, getContract, getContractHT, getContractHT, getDebugFlagsInBinary, getDebugLevelNames, getForkManager, getID, getParent, getPort, getPort, getRoot, getRuntime, getTime, iduplicate, isAncestorOf, isComponentNotificationEnabled, isContainer, isDebugEnabled, isDebugEnabledAt, isDirectOutputEnabled, isEnabled, isErrorNoticeEnabled, isEventExportEnabled, isGarbageDisplayEnabled, isGarbageEnabled, isPortNotificationEnabled, isPortRemovable, isStarted, isStopped, isTraceEnabled, lock, notify, notifyAll, operate, portAdded, portRemoved, reboot, removeAll, removeAllComponents, removeAllPorts, removeAllPorts, removeComponent, removeComponent, removePort, removePort, removePort, resume, run, sduplicate, send, sendAt, setComponentFlag, setComponentFlag, setComponentNotificationEnabled, setContract, setDebugEnabled, setDebugEnabled, setDebugEnabledAt, setDebugEnabledAt, setDebugEnabledAt, setDirectOutputEnabled, setDirectOutputEnabled, setEnabled, setErrorNoticeEnabled, setErrorNoticeEnabled, setEventExportEnabled, setEventExportEnabled, setExecutionBoundary, setGarbageDisplayEnabled, setGarbageDisplayEnabled, setGarbageEnabled, setGarbageEnabled, setID, setID, setName, setPort, setPort, setPortNotificationEnabled, setPortRemovable, setRuntime, setTraceEnabled, setTraceEnabled, sleepFor, sleepUntil, stop, toString, unexpose, unlock, useLocalForkManager, useLocalForkManager, wait |
| Methods inherited from class java.lang.Object |
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
QUERY
public static final int QUERY
- Membership Query message type (RFC2236).
REPORT
public static final int REPORT
- Version 2 Membership Report message type (RFC2236).
LEAVE
public static final int LEAVE
- Leave Group message type (RFC2236).
REPORT1
public static final int REPORT1
- Version 1 Membership Report message type (RFC2236).
IGMP_MESSAGE_SIZE
public static final int IGMP_MESSAGE_SIZE
- IGMP message size (RFC2236).
sIGMP
public sIGMP()
sIGMP
public sIGMP(java.lang.String id_)
getName
public java.lang.String getName()
- Description copied from class:
Component
- Returns the (informational) name of the component.
- Overrides:
getName in class Component
duplicate
public void duplicate(java.lang.Object source_)
- Description copied from class:
Component
- Duplicates the content of source_, including ID, name, child components and
connections among them, to this component.
Subclasses need to override this method to copy its own variables.
- Overrides:
duplicate in class Protocol
info
public java.lang.String info()
- Provide multicast group membership information on each interface.
- Overrides:
info in class Component
reset
public void reset()
- Description copied from class:
Component
- Resets the component for being used anew.
All the internal variables must be set to the initial state.
All the ports and child components are reset as well.
- Overrides:
reset in class Component
process
protected void process(java.lang.Object data_,
Port inPort_)
- Description copied from class:
Module
- This method classifies
inPort_ and delegates process of data
to the appropriate handler. If a subclass decides to override this method,
then it should call super.process(data_, inPort_) to make those
handlers effective.
- Overrides:
process in class Module
- Following copied from class:
drcl.net.Module
- See Also:
Module.dataArriveAtUpPort(Object, drcl.comp.Port),
Module.dataArriveAtDownPort(Object, drcl.comp.Port),
Module.processOther(Object, drcl.comp.Port)
processOther
protected void processOther(java.lang.Object data_,
Port inPort_)
- Description copied from class:
Module
- The handler invoked when a packet arrived at a port other than the
"up", "down" and timer ports.
- Overrides:
processOther in class Protocol
join
public void join(long group_)
- Makes this host joins the multicast group.
leave
public void leave(long group_)
- Makes this host leaves the multicast group.
dataArriveAtDownPort
protected void dataArriveAtDownPort(java.lang.Object msg_,
Port downPort_)
- Description copied from class:
Module
- The handler invoked when a packet arrives at a "down" port.
Subclasses should override it to handle such an event.
- Overrides:
dataArriveAtDownPort in class Module
Copyright © 2001 - DRCL, OSU ~ Back to JavaSim Home ~