@Override public void consume(byte value) { target.consume(value); }
@Override public void consume(byte value) { target.consume(value); }
@Override public void consume(byte value) { target.consume(value); }
private static <S extends MessageSchema> void rareEncodeCase(int c, ByteConsumer target) { if (c < 0x1FFFFF) { // code point 21 target.consume( (byte) (0xF0 | ((c >> 18) & 0x07))); } else { if (c < 0x3FFFFFF) { // code point 26 target.consume((byte) (0xF8 | ((c >> 24) & 0x03))); } else { if (c < 0x7FFFFFFF) { // code point 31 target.consume( (byte) (0xFC | ((c >> 30) & 0x01))); } else { throw new UnsupportedOperationException("can not encode char with value: " + c); } target.consume( (byte) (0x80 | ((c >> 24) & 0x3F))); } target.consume( (byte) (0x80 | ((c >> 18) & 0x3F))); } target.consume((byte) (0x80 | ((c >> 12) & 0x3F))); }
private static <S extends MessageSchema> void rareEncodeCase(int c, ByteConsumer target) { if (c < 0x1FFFFF) { // code point 21 target.consume( (byte) (0xF0 | ((c >> 18) & 0x07))); } else { if (c < 0x3FFFFFF) { // code point 26 target.consume((byte) (0xF8 | ((c >> 24) & 0x03))); } else { if (c < 0x7FFFFFFF) { // code point 31 target.consume( (byte) (0xFC | ((c >> 30) & 0x01))); } else { throw new UnsupportedOperationException("can not encode char with value: " + c); } target.consume( (byte) (0x80 | ((c >> 24) & 0x3F))); } target.consume( (byte) (0x80 | ((c >> 18) & 0x3F))); } target.consume((byte) (0x80 | ((c >> 12) & 0x3F))); }
private static <S extends MessageSchema> void rareEncodeCase(int c, ByteConsumer target) { if (c < 0x1FFFFF) { // code point 21 target.consume( (byte) (0xF0 | ((c >> 18) & 0x07))); } else { if (c < 0x3FFFFFF) { // code point 26 target.consume((byte) (0xF8 | ((c >> 24) & 0x03))); } else { if (c < 0x7FFFFFFF) { // code point 31 target.consume( (byte) (0xFC | ((c >> 30) & 0x01))); } else { throw new UnsupportedOperationException("can not encode char with value: " + c); } target.consume( (byte) (0x80 | ((c >> 24) & 0x3F))); } target.consume( (byte) (0x80 | ((c >> 18) & 0x3F))); } target.consume((byte) (0x80 | ((c >> 12) & 0x3F))); }
private static <S extends MessageSchema> void encodeSingleChar(int c, ByteConsumer target) { if (c <= 0x007F) { // less than or equal to 7 bits or 127 // code point 7 target.consume( (byte) c); } else { if (c <= 0x07FF) { // less than or equal to 11 bits or 2047 // code point 11 target.consume( (byte) (0xC0 | ((c >> 6) & 0x1F))); } else { if (c <= 0xFFFF) { // less than or equal to 16 bits or 65535 //special case logic here because we know that c > 7FF and c <= FFFF so it may hit these // D800 through DFFF are reserved for UTF-16 and must be encoded as an 63 (error) if (0xD800 == (0xF800&c)) { target.consume( (byte)63 ); return; } // code point 16 target.consume( (byte) (0xE0 | ((c >> 12) & 0x0F))); } else { rareEncodeCase(c, target); } target.consume( (byte) (0x80 | ((c >> 6) & 0x3F))); } target.consume( (byte) (0x80 | (c & 0x3F))); } }
private static <S extends MessageSchema> void encodeSingleChar(int c, ByteConsumer target) { if (c <= 0x007F) { // less than or equal to 7 bits or 127 // code point 7 target.consume( (byte) c); } else { if (c <= 0x07FF) { // less than or equal to 11 bits or 2047 // code point 11 target.consume( (byte) (0xC0 | ((c >> 6) & 0x1F))); } else { if (c <= 0xFFFF) { // less than or equal to 16 bits or 65535 //special case logic here because we know that c > 7FF and c <= FFFF so it may hit these // D800 through DFFF are reserved for UTF-16 and must be encoded as an 63 (error) if (0xD800 == (0xF800&c)) { target.consume( (byte)63 ); return; } // code point 16 target.consume( (byte) (0xE0 | ((c >> 12) & 0x0F))); } else { rareEncodeCase(c, target); } target.consume( (byte) (0x80 | ((c >> 6) & 0x3F))); } target.consume( (byte) (0x80 | (c & 0x3F))); } }
public static int capturedFieldBytes(TrieParserReader reader, int idx, ByteConsumer target) { assert(null!=reader); assert(null!=target); int pos = idx*4; assert(pos < reader.capturedValues.length) : "Either the idx argument is too large or TrieParseReader was not constructed to hold this many fields"; int type = reader.capturedValues[pos++]; assert(type==0); int bpos = reader.capturedValues[pos++]; int blen = reader.capturedValues[pos++]; int bmsk = reader.capturedValues[pos++]; try { target.consume(reader.capturedBlobArray, bpos, blen, bmsk); } catch (Throwable t) { t.printStackTrace(); } return blen; }
public static int capturedFieldBytes(TrieParserReader reader, int idx, ByteConsumer target) { assert(null!=reader); assert(null!=target); int pos = idx*4; assert(pos < reader.capturedValues.length) : "Either the idx argument is too large or TrieParseReader was not constructed to hold this many fields"; int type = reader.capturedValues[pos++]; assert(type==0); int bpos = reader.capturedValues[pos++]; int blen = reader.capturedValues[pos++]; int bmsk = reader.capturedValues[pos++]; try { target.consume(reader.capturedBlobArray, bpos, blen, bmsk); } catch (Throwable t) { t.printStackTrace(); } return blen; }
public static int capturedFieldBytes(TrieParserReader reader, int idx, ByteConsumer target) { assert(null!=reader); assert(null!=target); int pos = idx*4; assert(pos < reader.capturedValues.length) : "Either the idx argument is too large or TrieParseReader was not constructed to hold this many fields"; int type = reader.capturedValues[pos++]; assert(type==0); int bpos = reader.capturedValues[pos++]; int blen = reader.capturedValues[pos++]; int bmsk = reader.capturedValues[pos++]; try { target.consume(reader.capturedBlobArray, bpos, blen, bmsk); } catch (Throwable t) { t.printStackTrace(); } return blen; }
private static <S extends MessageSchema> void encodeSingleChar(int c, ByteConsumer target) { if (c <= 0x007F) { // less than or equal to 7 bits or 127 // code point 7 target.consume( (byte) c); } else { if (c <= 0x07FF) { // less than or equal to 11 bits or 2047 // code point 11 target.consume( (byte) (0xC0 | ((c >> 6) & 0x1F))); } else { if (c <= 0xFFFF) { // less than or equal to 16 bits or 65535 //special case logic here because we know that c > 7FF and c <= FFFF so it may hit these // D800 through DFFF are reserved for UTF-16 and must be encoded as an 63 (error) if (0xD800 == (0xF800&c)) { target.consume( (byte)63 ); return; } // code point 16 target.consume( (byte) (0xE0 | ((c >> 12) & 0x0F))); } else { rareEncodeCase(c, target); } target.consume( (byte) (0x80 | ((c >> 6) & 0x3F))); } target.consume( (byte) (0x80 | (c & 0x3F))); } }
} else { logger.warn("unable to decode unicode"); target.consume((byte)0xFF);//replacement char to show that an error happened. target.consume((byte)0xFD); return; target.consume((byte)0xFF);//replacement char to show that an error happened. target.consume((byte)0xFD); target.consume((byte)0xFF);//replacement char to show that an error happened. target.consume((byte)0xFD); high10 = -1; return; target.consume(backing,pos,len,mask);
} else { logger.warn("unable to decode unicode"); target.consume((byte)0xFF);//replacement char to show that an error happened. target.consume((byte)0xFD); return; target.consume((byte)0xFF);//replacement char to show that an error happened. target.consume((byte)0xFD); target.consume((byte)0xFF);//replacement char to show that an error happened. target.consume((byte)0xFD); high10 = -1; return; target.consume(backing,pos,len,mask);
} else { logger.warn("unable to decode unicode"); target.consume((byte)0xFF);//replacement char to show that an error happened. target.consume((byte)0xFD); return; target.consume((byte)0xFF);//replacement char to show that an error happened. target.consume((byte)0xFD); target.consume((byte)0xFF);//replacement char to show that an error happened. target.consume((byte)0xFD); high10 = -1; return; target.consume(backing,pos,len,mask);
private static <A extends Appendable> boolean consumeEscapedString(TrieParserReader reader, long stringId, ByteConsumer target) { TrieParserReader.capturedFieldBytes(reader, 0, target); if (STRING_END != (0xFF&stringId)) { do { stringId = reader.parseNext(reader, stringEndParser); if (-1 == stringId) { throw new UnsupportedOperationException("Unable to parse text string"); } target.consume((byte)(stringId>>8)); TrieParserReader.capturedFieldBytes(reader, 0, target); } while (STRING_END != (0xFF&stringId)); } return true; }
private static <A extends Appendable> boolean consumeEscapedString(TrieParserReader reader, long stringId, ByteConsumer target) { TrieParserReader.capturedFieldBytes(reader, 0, target); if (STRING_END != (0xFF&stringId)) { do { stringId = reader.parseNext(reader, stringEndParser); if (-1 == stringId) { throw new UnsupportedOperationException("Unable to parse text string"); } target.consume((byte)(stringId>>8)); TrieParserReader.capturedFieldBytes(reader, 0, target); } while (STRING_END != (0xFF&stringId)); } return true; }
private static <A extends Appendable> boolean consumeEscapedString(TrieParserReader reader, long stringId, ByteConsumer target) { TrieParserReader.capturedFieldBytes(reader, 0, target); if (STRING_END != (0xFF&stringId)) { do { stringId = reader.parseNext(reader, stringEndParser); if (-1 == stringId) { throw new UnsupportedOperationException("Unable to parse text string"); } target.consume((byte)(stringId>>8)); TrieParserReader.capturedFieldBytes(reader, 0, target); } while (STRING_END != (0xFF&stringId)); } return true; }
visitor.stringAccumulator().consume((byte)value); TrieParserReader.capturedFieldBytes(reader, 0, visitor.stringAccumulator());
visitor.stringAccumulator().consume((byte)value); TrieParserReader.capturedFieldBytes(reader, 0, visitor.stringAccumulator());