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 (->demandData()) {
00051 return EXECRC_BUF_UNDERFLOW;
00052 }
00053
00054 pInAccessor->unmarshalTuple(*pInputTuple);
00055 return EXECRC_YIELD;
00056 }