Fennel: LbmStreamTupleReader Class Reference (original) (raw)

Reads an input tuple.

The tuple read remains valid until the next call to this method.

Returns:

EXECRC_YIELD if read was successful, EXECRC_EOS if there was no more data to be read, or EXECRC_BUF_UNDERFLOW if an input stream buffer was exhausted

Implements LbmTupleReader.

Definition at line 40 of file LbmTupleReader.cpp.

References EXECBUF_EOS, EXECRC_BUF_UNDERFLOW, EXECRC_EOS, EXECRC_YIELD, pInAccessor, and pInputTuple.

00041 { 00042 if (pInAccessor->getState() == EXECBUF_EOS) { 00043 return EXECRC_EOS; 00044 } 00045 00046 // consume the previous input if there was one 00047 if (pInAccessor->isTupleConsumptionPending()) { 00048 pInAccessor->consumeTuple(); 00049 } 00050 if (pInAccessor->demandData()) { 00051 return EXECRC_BUF_UNDERFLOW; 00052 } 00053 00054 pInAccessor->unmarshalTuple(*pInputTuple); 00055 return EXECRC_YIELD; 00056 }