public interface WirelessChannel extends Actor, Nameable, PropertyTransformer, ChannelListener
The transmitter can call the channel's transmit() method to deliver data to its corresponding receivers. It can specify the transmission properties by a record token including the transmission range, transmission power. The transmit properties may be modified by the channel model or by some property transformers(@see PropertyTransformer) during the transmission to take into account channel losses, antenna gain, noise, etc.
Channel listeners may also be added to this channel.
COMPLETED, NOT_READY, STOP_ITERATING
Modifier and Type | Method and Description |
---|---|
void |
addChannelListener(ChannelListener listener)
Add a channel listener to listen for transmissions on this channel.
|
ChannelPort |
getChannelPort()
Return a channel port that can be used to set type constraints
between senders and receivers.
|
java.util.List |
listeningInputPorts()
Return a list of input ports that can potentially receive data
from this channel.
|
java.util.List |
listeningOutputPorts()
Return a list of output ports that can potentially receive data
from this channel.
|
void |
registerPropertyTransformer(PropertyTransformer transformer,
WirelessIOPort port)
Register a property transformer for transmissions from the
specified port.
|
void |
removeChannelListener(ChannelListener listener)
Remove a channel listener for transmissions on this channel.
|
java.util.List |
sendingInputPorts()
Return a list of input ports that can potentially send data
to this channel.
|
java.util.List |
sendingOutputPorts()
Return a list of output ports that can potentially send data
to this channel.
|
void |
transmit(Token token,
WirelessIOPort port,
RecordToken properties)
Transmit the specified token from the specified port with the
specified properties.
|
void |
unregisterPropertyTransformer(PropertyTransformer transformer,
WirelessIOPort port)
Unregister a property transformer for transmissions from the specified
port (or from null for a generic property transformer).
|
createReceivers, getCausalityInterface, getDirector, getExecutiveDirector, getManager, inputPortList, newReceiver, outputPortList
fire, isFireFunctional, isStrict, iterate, postfire, prefire, stop, stopFire, terminate
addInitializable, initialize, preinitialize, removeInitializable, wrapup
description, getContainer, getDisplayName, getFullName, getName, getName, setName
transformProperties
channelNotify
void addChannelListener(ChannelListener listener)
listener
- The channel listener to add.removeChannelListener(ChannelListener)
ChannelPort getChannelPort()
java.util.List listeningInputPorts() throws IllegalActionException
IllegalActionException
- If a port is encountered
whose outsideChannel parameter cannot be evaluated.java.util.List listeningOutputPorts() throws IllegalActionException
IllegalActionException
- If a port is encountered
whose insideChannel parameter cannot be evaluated.void registerPropertyTransformer(PropertyTransformer transformer, WirelessIOPort port)
transformer
- The property transformer to be registered.port
- The port whose transmissions should be subject to the
property transformer, or null to make them subject to all
transmissions through this channel.void removeChannelListener(ChannelListener listener)
listener
- The channel listener to remove.addChannelListener(ChannelListener)
java.util.List sendingInputPorts() throws IllegalActionException
IllegalActionException
- If a port is encountered
whose insideChannel parameter cannot be evaluated.java.util.List sendingOutputPorts() throws IllegalActionException
IllegalActionException
- If a port is encountered
whose outsideChannel parameter cannot be evaluated.void transmit(Token token, WirelessIOPort port, RecordToken properties) throws IllegalActionException
token
- The token to transmit, or null to clear all
receivers that are in range.port
- The port from which this is being transmitted.properties
- The transmission properties.IllegalActionException
- If something goes wrong during
the transmission.void unregisterPropertyTransformer(PropertyTransformer transformer, WirelessIOPort port)
transformer
- The property transformer to be unregistered.port
- The port whose transmissions should be subject to the
property transformer, or null for a generic transformer.registerPropertyTransformer(PropertyTransformer, WirelessIOPort)