def event_handler(parser, event_type, event_data, arg): parser_obj.record_ready = False if event_type == _cparser_defs.TRACE_PARSER_FOUND_METADATA: if parser_obj._event_handler: parser_obj._event_handler('metadata_updated') return if event_type == _cparser_defs.TRACE_PARSER_OPERATION_IN_PROGRESS: if parser_obj._event_handler: progress_status = cast(c_void_p(event_data), POINTER(_cparser_defs.operation_progress_status_s)) parser_obj._event_handler('operation_in_progress', records_processed = progress_status.contents.records_processed, current_offset = progress_status.contents.current_offset) return if event_type == _cparser_defs.TRACE_PARSER_UNKNOWN_RECORD_ENCOUNTERED: if parser_obj._event_handler: parser_obj._event_handler('unknown_record') return if event_type not in (_cparser_defs.TRACE_PARSER_COMPLETE_TYPED_RECORD_PROCESSED, _cparser_defs.TRACE_PARSER_MATCHED_RECORD): return complete_record_ptr = cast(c_void_p(event_data), POINTER(_cparser_defs.parser_complete_typed_record)) formatted_record = create_string_buffer(1024 * 10) format_length = c_int() _traces_so.TRACE_PARSER__format_typed_record(parser, complete_record_ptr.contents.buffer, complete_record_ptr.contents.record, formatted_record, 1024 * 10, byref(format_length)) parser_obj.record_ready = True parser_obj.formatted_record = formatted_record.value record_copy = _cparser_defs.trace_record() pointer(record_copy)[0] = complete_record_ptr.contents.record[0] parser_obj.raw_record = record_copy
def event_handler(parser, event_type, event_data, arg): parser_obj.record_ready = False if event_type not in (_cparser_defs.TRACE_PARSER_COMPLETE_TYPED_RECORD_PROCESSED, _cparser_defs.TRACE_PARSER_MATCHED_RECORD): return complete_record_ptr = cast(c_void_p(event_data), POINTER(_cparser_defs.parser_complete_typed_record)) formatted_record = create_string_buffer(1024 * 10) format_length = c_int() _traces_so.TRACE_PARSER__format_typed_record(parser, complete_record_ptr.contents.buffer, complete_record_ptr.contents.record, formatted_record, 1024 * 10, byref(format_length)) parser_obj.record_ready = True parser_obj.formatted_record = formatted_record.value record_copy = _cparser_defs.trace_record() pointer(record_copy)[0] = complete_record_ptr.contents.record[0] parser_obj.raw_record = record_copy
def event_handler(parser, event_type, event_data, arg): parser_obj.record_ready = False if event_type == _cparser_defs.TRACE_PARSER_FOUND_METADATA: if parser_obj._event_handler: parser_obj._event_handler('metadata_updated') return if event_type == _cparser_defs.TRACE_PARSER_OPERATION_IN_PROGRESS: if parser_obj._event_handler: progress_status = cast( c_void_p(event_data), POINTER(_cparser_defs.operation_progress_status_s)) parser_obj._event_handler( 'operation_in_progress', records_processed=progress_status.contents. records_processed, current_offset=progress_status.contents.current_offset) return if event_type == _cparser_defs.TRACE_PARSER_UNKNOWN_RECORD_ENCOUNTERED: if parser_obj._event_handler: parser_obj._event_handler('unknown_record') return if event_type not in ( _cparser_defs.TRACE_PARSER_COMPLETE_TYPED_RECORD_PROCESSED, _cparser_defs.TRACE_PARSER_MATCHED_RECORD): return complete_record_ptr = cast( c_void_p(event_data), POINTER(_cparser_defs.parser_complete_typed_record)) formatted_record = create_string_buffer(1024 * 10) format_length = c_int() _traces_so.TRACE_PARSER__format_typed_record( parser, complete_record_ptr.contents.buffer, complete_record_ptr.contents.record, formatted_record, 1024 * 10, byref(format_length)) parser_obj.record_ready = True parser_obj.formatted_record = formatted_record.value record_copy = _cparser_defs.trace_record() pointer(record_copy)[0] = complete_record_ptr.contents.record[0] parser_obj.raw_record = record_copy return 0