//
// ReadUserLogHeader methods
//
int
ReadUserLogHeader::Read(
	ReadUserLog	&reader )
{

	// Now, read the event itself
	ULogEvent			*event = NULL;
	ULogEventOutcome	outcome = reader.readEvent( event );

	if ( ULOG_OK != outcome ) {
		::dprintf( D_FULLDEBUG,
				   "ReadUserLogHeader::Read(): readEvent() failed\n" );
		delete event;
		return outcome;
	}
	if ( ULOG_GENERIC != event->eventNumber ) {
		::dprintf( D_FULLDEBUG,
				   "ReadUserLogHeader::Read(): event #%d should be %d\n",
				   event->eventNumber, ULOG_GENERIC );
		delete event;
		return ULOG_NO_EVENT;
	}

	int rval = ExtractEvent( event );
	delete event;

	if ( rval != ULOG_OK) {
		::dprintf( D_FULLDEBUG,
				   "ReadUserLogHeader::Read(): failed to extract event\n" );
	}
	return rval;
}
Beispiel #2
0
    inline size_t DoWaitReal(void** ev, TEvent* events, size_t len, const TInstant& deadLine) {
        const size_t ret = WaitD(events, len, deadLine);

        for (size_t i = 0; i < ret; ++i) {
            ev[i] = ExtractEvent(&events[i]);
        }

        return ret;
    }
Beispiel #3
0
  /*
   * Extract the job id and the first event and event id from the specified uri.
   *
   * @param uri - The input uri.
   * @param urlInfo - The info object used to store the information.
   */
  static inline void parseURI(const std::string& uri, info& urlInfo)
  {
    urlInfo.id = ExtractID(uri);
    urlInfo.event = "";
    urlInfo.eventId = -1;

    if (urlInfo.id >= 0)
    {
      urlInfo.event = ExtractEvent(uri);

      if (urlInfo.event != "")
      {
        urlInfo.eventId = ExtractEventID(uri, urlInfo.event);
      }
    }
  }