at.dms.kjc.backendSupport
Class UnbufferredPopChannel

java.lang.Object
  extended by at.dms.kjc.backendSupport.Channel
      extended by at.dms.kjc.backendSupport.UnbufferredPopChannel

public class UnbufferredPopChannel
extends Channel

A Channel with the single purpose of holding the name of a pop() routine. Such a channel is used to connect a joiner to a peek buffer or directly to a filter when the joiner and the filter are laid out on the same ComputeNode.

Author:
dimock

Field Summary
 
Fields inherited from class at.dms.kjc.backendSupport.Channel
bufferStore, extraCount, ident, rotationLength, theEdge, unique_id
 
Method Summary
 void addChannelForHeaders(Channel c)
          Add a channel to produce upstream (write) headers for:
 List<JStatement> beginInitRead()
           
 List<JStatement> beginSteadyRead()
           
 List<JStatement> endInitRead()
           
 List<JStatement> endSteadyRead()
           
static UnbufferredPopChannel getChannel(Edge edge, String popName)
          Make a new Channel or return an already-made channel.
 String popMethodName()
          popMethodName: overridden to return string from construction time.
 List<JStatement> postPreworkInitRead()
           
 List<JStatement> topOfWorkSteadyRead()
           
 
Methods inherited from class at.dms.kjc.backendSupport.Channel
addChannel, assignFromPeekMethod, assignFromPeekMethodName, assignFromPopMethod, assignFromPopMethodName, beginInitWrite, beginSteadyWrite, dataDecls, dataDeclsH, endInitWrite, endSteadyWrite, findChannel, getBuffers, getDest, getExtraCount, getIdent, getSource, getType, peekMethod, peekMethodName, popManyMethod, popManyMethodName, popMethod, printBuffers, pushMethod, pushMethodName, readDecls, readDeclsExtern, reset, setExtralength, setRotationLengths, topOfWorkSteadyWrite, writeDecls, writeDeclsExtern
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

getChannel

public static UnbufferredPopChannel getChannel(Edge edge,
                                               String popName)
Make a new Channel or return an already-made channel.

Parameters:
edge - The edge that this channel implements.
popName - The name of the pop routine that will be used.
Returns:
A channel for the passed edge with a where popMethodName() returns popName.

addChannelForHeaders

public void addChannelForHeaders(Channel c)
Add a channel to produce upstream (write) headers for:

Parameters:
c - a Channel connected to the splitter that this channel calls.

popMethodName

public String popMethodName()
popMethodName: overridden to return string from construction time.

Overrides:
popMethodName in class Channel

beginInitRead

public List<JStatement> beginInitRead()
Overrides:
beginInitRead in class Channel

postPreworkInitRead

public List<JStatement> postPreworkInitRead()
Overrides:
postPreworkInitRead in class Channel

endInitRead

public List<JStatement> endInitRead()
Overrides:
endInitRead in class Channel

beginSteadyRead

public List<JStatement> beginSteadyRead()
Overrides:
beginSteadyRead in class Channel

endSteadyRead

public List<JStatement> endSteadyRead()
Overrides:
endSteadyRead in class Channel

topOfWorkSteadyRead

public List<JStatement> topOfWorkSteadyRead()
Overrides:
topOfWorkSteadyRead in class Channel