private static void visitorInitForQuery(TrieParserReader reader, TrieParser trie, byte[] source, int sourcePos, long unfoundResult, long noMatchResult) { reader.capturedPos = 0; reader.capturedBlobArray = source; //working vars reader.pos = 0; reader.runLength = 0; reader.localSourcePos = sourcePos; reader.result = unfoundResult; reader.unfoundConstant = unfoundResult; reader.noMatchConstant = noMatchResult; reader.normalExit = true; reader.altStackPos = 0; if (trie.maxExtractedFields()>0) { if (null==reader.capturedValues || (reader.capturedValues.length>>2)<trie.maxExtractedFields()) { reader.capturedValues = new int[4*(1+trie.maxExtractedFields())*4]; } } assert(trie.getLimit()>0) : "SequentialTrieParser must be setup up with data before use."; reader.type = trie.data[reader.pos++]; }
private static void visitor_initForQuery(TrieParserReader reader, TrieParser trie, byte[] source, int sourcePos, long unfoundResult) { reader.capturedPos = 0; reader.capturedBlobArray = source; //working vars reader.pos = 0; reader.runLength = 0; reader.localSourcePos = sourcePos; reader.result = unfoundResult; reader.normalExit = true; reader.altStackPos = 0; if (null==reader.capturedValues || (reader.capturedValues.length>>2)<trie.maxExtractedFields()) { reader.capturedValues = new int[4*(1+trie.maxExtractedFields())*4]; } assert(trie.getLimit()>0) : "SequentialTrieParser must be setup up with data before use."; reader.type = trie.data[reader.pos++]; }
private static void visitorInitForQuery(TrieParserReader reader, TrieParser trie, byte[] source, int sourcePos, long unfoundResult, long noMatchResult) { reader.capturedPos = 0; reader.capturedBlobArray = source; //working vars reader.pos = 0; reader.runLength = 0; reader.localSourcePos = sourcePos; reader.result = unfoundResult; reader.unfoundConstant = unfoundResult; reader.noMatchConstant = noMatchResult; reader.normalExit = true; reader.altStackPos = 0; if (trie.maxExtractedFields()>0) { if (null==reader.capturedValues || (reader.capturedValues.length>>2)<trie.maxExtractedFields()) { reader.capturedValues = new int[4*(1+trie.maxExtractedFields())*4]; } } assert(trie.getLimit()>0) : "SequentialTrieParser must be setup up with data before use."; reader.type = trie.data[reader.pos++]; }
if (trie.maxExtractedFields()>0) { if (null==reader.capturedValues || (reader.capturedValues.length>>2)<trie.maxExtractedFields()) { reader.capturedValues = new int[4*(1+trie.maxExtractedFields())*4];
if (trie.maxExtractedFields()>0) { if (null==reader.capturedValues || (reader.capturedValues.length>>2)<trie.maxExtractedFields()) { reader.capturedValues = new int[4*(1+trie.maxExtractedFields())*4];
private static void initForQuery(TrieParserReader reader, TrieParser trie, byte[] source, int sourcePos, int sourceMask, long unfoundResult) { reader.capturedPos = 0; reader.capturedBlobArray = source; //working vars reader.pos = 0; reader.runLength = 0; reader.localSourcePos = sourcePos; reader.result = unfoundResult; reader.normalExit = true; reader.altStackPos = 0; if (null==reader.capturedValues || (reader.capturedValues.length>>2)<trie.maxExtractedFields()) { reader.capturedValues = new int[4*(1+trie.maxExtractedFields())*4]; } reader.sourceBacking = source; //if we have a data specific mask use it, if nothing was set take full pipe size. if (0==reader.sourceMask) { reader.sourceMask = sourceMask; } assert(trie.getLimit()>0) : "SequentialTrieParser must be setup up with data before use."; reader.type = trie.data[reader.pos++]; }