edu.isi.pegasus.planner.invocation

## Class Fifo

- java.lang.Object
- - org.griphyn.vdl.Chimera
  - - edu.isi.pegasus.planner.invocation.Invocation
    - - edu.isi.pegasus.planner.invocation.File
      - - edu.isi.pegasus.planner.invocation.Temporary
        - - edu.isi.pegasus.planner.invocation.Fifo

All Implemented Interfaces:
  HasDescriptor, HasFilename, HasText, java.io.Serializable

    public class Fifo
    extends Temporary

This class is the container for a FIFO object. A FIFO, also known as named pipe, does not consume space on the filesystem except for an inode.

Version:
  $Revision$
Author:
  Jens-S. Vöckler, Yong Zhao
See Also:
  Serialized Form

### Field Summary

Fields
`protected int` `m_count` optional message count for the FIFO.
`protected long` `m_rsize` optional number of bytes read from FIFO.
`protected long` `m_wsize` optional number of bytes written - but not to the FIFO.

### Fields inherited from class edu.isi.pegasus.planner.invocation.Temporary

`m_descriptor, m_filename`

### Fields inherited from class edu.isi.pegasus.planner.invocation.File

`m_hexbyte`

### Constructor Summary

Constructors
Constructor and Description
`Fifo()` Default c'tor: Construct a hollow shell and allow further information to be added later.
`Fifo(java.lang.String filename, int descriptor)` Constructs a FIFO object.

### Method Summary

All Methods Instance Methods Concrete Methods
`int` `getCount()` Accessor
`long` `getInputSize()` Accessor
`long` `getOutputSize()` Accessor
`void` `setCount(int count)` Accessor.
`void` `setInputSize(long rsize)` Accessor.
`void` `setOutputSize(long wsize)` Accessor.
`void` `toXML(java.io.Writer stream, java.lang.String indent, java.lang.String namespace)` Dump the state of the current element as XML output.

### Methods inherited from class edu.isi.pegasus.planner.invocation.Temporary

`getDescriptor, getFilename, setDescriptor, setFilename`

### Methods inherited from class edu.isi.pegasus.planner.invocation.File

`appendValue, getValue, setValue, toString`

### Methods inherited from class org.griphyn.vdl.Chimera

`escape, quote, toString, toXML, toXML, writeAttribute`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

### Field Detail

#### m_count

    protected int m_count

optional message count for the FIFO.

#### m_rsize

    protected long m_rsize

optional number of bytes read from FIFO.

#### m_wsize

    protected long m_wsize

optional number of bytes written - but not to the FIFO. This has to do with the message size that was created from the original input message.

### Constructor Detail

#### Fifo

    public Fifo()

Default c'tor: Construct a hollow shell and allow further information to be added later.

#### Fifo

    public Fifo(java.lang.String filename,
                int descriptor)

Constructs a FIFO object.

Parameters:
  `filename` - is the name of the file that stat was invoked
  `descriptor` - is a valid file descriptor number.

### Method Detail

#### getCount

    public int getCount()

Accessor

See Also:
  `setCount(int)`

#### setCount

    public void setCount(int count)

Accessor.

Parameters:
  `count` -
See Also:
  `getCount()`

#### getInputSize

    public long getInputSize()

Accessor

See Also:
  `setInputSize(long)`

#### setInputSize

    public void setInputSize(long rsize)

Accessor.

Parameters:
  `rsize` -
See Also:
  `getInputSize()`

#### getOutputSize

    public long getOutputSize()

Accessor

See Also:
  `setOutputSize(long)`

#### setOutputSize

    public void setOutputSize(long wsize)

Accessor.

Parameters:
  `wsize` -
See Also:
  `getOutputSize()`

#### toXML

    public void toXML(java.io.Writer stream,
                      java.lang.String indent,
                      java.lang.String namespace)
               throws java.io.IOException

Dump the state of the current element as XML output. This function traverses all sibling classes as necessary, and converts the data into pretty-printed XML output. The stream interface should be able to handle large output efficiently.

Overrides:
  `toXML` in class `Temporary`
Parameters:
  `stream` - is a stream opened and ready for writing. This can also be a string stream for efficient output.
  `indent` - is a `String` of spaces used for pretty printing. The initial amount of spaces should be an empty string. The parameter is used internally for the recursive traversal. If a `null` value is specified, no indentation nor linefeeds will be generated.
  `namespace` - is the XML schema namespace prefix. If neither empty nor null, each element will be prefixed with this prefix, and the root element will map the XML namespace.
Throws:
  `java.io.IOException` - if something fishy happens to the stream.
See Also:
  `BufferedWriter`