HyperChannels
a dirty primer By Tony Swain
(Optimized
for HTML 4.01
|
A HyperChannel.class performs NIO/TCP-IP
based multicast.
What is a HyperChannel in a sentence?
It is java(TM) class which allows
various forms of NIO based multicast.
HyperChannels has several possible IO transit resolutions.
1) A SocketChannel for external incoming connections.
2) A ChannelView.class
3) A Memory mapped File.
3) Standard output.
Class HyperChannel
java.lang.Object
Linkable //Linkable allows adding to HyperLinkedList
HyperChannel
- All Implemented Interfaces:
- java.io.Closeable, java.nio.channels.Channel
-
public class HyperChannel
- extends Linkable
- implements java.nio.channels.Channel
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify,
notifyAll, toString, wait, wait, wait |
totalChannels
public int totalChannels
open
public static HyperChannel open(java.lang.String tName)
throws java.lang.Exception
-
-
- Throws:
java.lang.Exception
close
public void close()
throws java.nio.channels.ClosedChannelException
-
- Specified by:
close in interface java.io.Closeable
- Specified by:
close in interface java.nio.channels.Channel
-
- Throws:
java.nio.channels.ClosedChannelException
isOpen
public boolean isOpen()
-
- Specified by:
isOpen in interface java.nio.channels.Channel
-
sendIO
public int sendIO(byte[] byteReference,
int tLength)
throws java.nio.channels.ClosedChannelException
-
-
- Throws:
java.nio.channels.ClosedChannelException
sendIO
public int sendIO(byte[] byteReference,
int tStart,
int tLength)
throws java.nio.channels.ClosedChannelException
-
-
- Throws:
java.nio.channels.ClosedChannelException
getByte
public byte getByte()
-
-
getShort
public short getShort()
-
-
getInt
public int getInt()
-
-
getLong
public long getLong()
-
-
getData
public byte[] getData(int tLength)
-
-
getData
public byte[] getData()
-
-
sendIO
public int sendIO(byte byteReference)
-
-
join
public void join(STDInputHandler tSTDIN)
-
-
leave
public void leave(ServerChannelPane tPane)
-
-
isJoined
public boolean isJoined(HyperChannelNodeLink tNode)
-
-
runSynchronous
public void runSynchronous()
-
-
runAsynchronous
public void runAsynchronous()
-
-
channelCleanup
public void channelCleanup()
-
-
processChannelOutput
public long processChannelOutput(HyperLinkedList tWriteList)
-
-
processChannelInput
public long processChannelInput(HyperLinkedList tReadList)
-
-
setChannelView
public void setChannelView(ChannelView tChannelView,
java.awt.Graphics tGraphics)
-
-
removeChannelView
public void removeChannelView()
-
-
setGraphics
public void setGraphics(java.awt.Graphics tGraphics)
-
-
print
public void print()
-
-
HyperChannel.class
You get a reference from a HyperChannel by calling
the appropriate
static HyperChannelRegistry.class
method with the appropriate HyperChannel.name
String.
Creating and/or getting a reference to a HyperChannel.
ie:
HyperChannel myChannel =
HyperChannel.getChannel("MyChannel");
If the HyperChannel exists a reference to the Channel is returned.
Else if the HyperChannel does not exist, then it is created, and
then its reference to it is returned. If there is some type of
error, then the call returns null.
HyperChannel.class IORequests
HyperChannelRegistry.class
static synchronized HyperChannel[] getChannelList()
static synchronized HyperChannel getChannel(String tName)
static synchronized HyperChannelRegistry getChannelRegistry()
public static void synch(Object tInfo) throws
IllegalChannelSynchException
---------------------------------------------------------------
HyperConnectionNode.getIO();
public void setGraphics(Graphics tGraphics);
HyperChannel.sendIO(byte[] byteReference,int tStart,int tLength) throws
ClosedChannelException
----------------------------------------------------------------
Interfaces:
public interface ChannelView
public int updateChannelView(String tName,Graphics
tGraphics,ByteBuffer tBuffer);
----------------------------------------------------------
public interface ChannelIOReply
public long processChannelInput(HyperLinkedList tList);
public long processChannelOutput(HyperLinkedList tList);
public void channelCleanup();
----------------------------------------------------------
IllegalChannelSynchException.class
HyperChannelDefaults.class
HyperChannelNodeLink.class
ChannelIOReply.class
HyperChannelNodeLink.class
ChannelView.class
HyperChannelNode.class
ChannelIOReply.class
HyperChannelConstants.class
HyperChannelNodeLink.class
GetChannels.class
GetChannels.class
ChannelPane.class
- ChannelPane$NewChannelDispatch.class
- ChannelPane$JoinChannelDispatch.class
- ChannelPane$LeaveChannelDispatch.class
- ChannelPane$SendChannelDispatch.class
- ChannelPane$ChannelPaneAbort.class
- ChannelPane$SetNextChannel.class
ChannelTempLink.class