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
extended by Linkable //Linkable allows adding to HyperLinkedList
extended by HyperChannel
All Implemented Interfaces:
java.io.Closeable, java.nio.channels.Channel

public class HyperChannel
extends Linkable
implements java.nio.channels.Channel


Field Summary
 int totalChannels
           
 
Method Summary
 void channelCleanup()
           
 void close()
           
 byte getByte()
           
 byte[] getData()
           
 byte[] getData(int tLength)
           
 int getInt()
           
 long getLong()
           
 short getShort()
           
 boolean isJoined(HyperChannelNodeLink tNode)
           
 boolean isOpen()
           
 void join(STDInputHandler tSTDIN)
           
 void leave(ServerChannelPane tPane)
           
static HyperChannel open(java.lang.String tName)
           
 void print()
           
 long processChannelInput(HyperLinkedList tReadList)
           
 long processChannelOutput(HyperLinkedList tWriteList)
           
 void removeChannelView()
           
 void runAsynchronous()
           
 void runSynchronous()
           
 int sendIO(byte byteReference)
           
 int sendIO(byte[] byteReference, int tLength)
           
 int sendIO(byte[] byteReference, int tStart, int tLength)
           
 void setChannelView(ChannelView tChannelView, java.awt.Graphics tGraphics)
           
 void setGraphics(java.awt.Graphics tGraphics)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

totalChannels

public int totalChannels
Method Detail

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
ChannelTempLink.class