| 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
Linkable             //Linkable allows adding to HyperLinkedList
       HyperChannel
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:
- closein interface- java.io.Closeable
- Specified by:
- closein interface- java.nio.channels.Channel
 
- 
    
      - Throws: 
- java.nio.channels.ClosedChannelException
 
 
 isOpen
public boolean isOpen()
  - 
    
      - Specified by:
- isOpenin 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