private static <A extends Appendable> void decimalValueCollecting(ChannelWriter writer, int digits, long tens, int g, long nextValue, int orAll) throws IOException { boolean isFirst = true; while (tens > 1) { int digit = (int) (nextValue / tens); nextValue = nextValue % tens; orAll |= digit; if (0 != orAll || digits < g) { writer.writeByte(dv[digit]);// (char)('0'+digit)); isFirst = false; } if (digits == g) { if (isFirst) { writer.writeByte('0');// leading zero } writer.writeByte('.'); isFirst = false; } tens /= 10; digits--; } writer.writeByte(dv[(int) nextValue]);// (char)('0'+nextValue)); }
private static <A extends Appendable> void decimalValueCollecting(ChannelWriter writer, int digits, long tens, int g, long nextValue, int orAll) throws IOException { boolean isFirst = true; while (tens > 1) { int digit = (int) (nextValue / tens); nextValue = nextValue % tens; orAll |= digit; if (0 != orAll || digits < g) { writer.writeByte(dv[digit]);// (char)('0'+digit)); isFirst = false; } if (digits == g) { if (isFirst) { writer.writeByte('0');// leading zero } writer.writeByte('.'); isFirst = false; } tens /= 10; digits--; } writer.writeByte(dv[(int) nextValue]);// (char)('0'+nextValue)); }
private static <A extends Appendable> void decimalValueCollecting(ChannelWriter writer, int digits, long tens, int g, long nextValue, int orAll) throws IOException { boolean isFirst = true; while (tens > 1) { int digit = (int) (nextValue / tens); nextValue = nextValue % tens; orAll |= digit; if (0 != orAll || digits < g) { writer.writeByte(dv[digit]);// (char)('0'+digit)); isFirst = false; } if (digits == g) { if (isFirst) { writer.writeByte('0');// leading zero } writer.writeByte('.'); isFirst = false; } tens /= 10; digits--; } writer.writeByte(dv[(int) nextValue]);// (char)('0'+nextValue)); }
/** * * @param header CharSequence to append to activeTarget * @param value CharSequence to append to activeTarget */ public void write(CharSequence header, CharSequence value) { activeTarget.append(header); activeTarget.writeByte(':'); activeTarget.writeByte(' '); activeTarget.append(value); activeTarget.writeByte('\r'); activeTarget.writeByte('\n'); }
public static <A extends Appendable> A appendValue(A target, int value) { ////////////////////////////// //can be optimized due to knowing the target type ////////////////////////////// if (value>=0 && (target instanceof ChannelWriter)) { ChannelWriter dataOutputBlobWriter = (ChannelWriter)target; if (value<10) { dataOutputBlobWriter.writeByte(('0'+(int)value)); return target; } else if (value<100) { dataOutputBlobWriter.writeByte(('0'+((int)value/10))); dataOutputBlobWriter.writeByte(('0'+((int)value%10))); return target; } else if (value<1000) { dataOutputBlobWriter.writeByte(('0'+((int)value/100))); dataOutputBlobWriter.writeByte(('0'+(((int)value%100)/10))); dataOutputBlobWriter.writeByte(('0'+((int)value%10))); return target; } else if (value<10000) { dataOutputBlobWriter.writeByte(('0'+((int)value/1000))); dataOutputBlobWriter.writeByte(('0'+(((int)value%1000)/100))); dataOutputBlobWriter.writeByte(('0'+(((int)value%100)/10))); dataOutputBlobWriter.writeByte(('0'+((int)value%10))); return target; } } return appendValueSlow(target, value); }
public static <A extends Appendable> A appendValue(A target, long value) { ////////////////////////////// //can be optimized due to knowing the target type ////////////////////////////// if (value>=0 && (target instanceof ChannelWriter)) { ChannelWriter dataOutputBlobWriter = (ChannelWriter)target; if (value<10) { dataOutputBlobWriter.writeByte(('0'+(int)value)); return target; } else if (value<100) { dataOutputBlobWriter.writeByte(('0'+((int)value/10))); dataOutputBlobWriter.writeByte(('0'+((int)value%10))); return target; } else if (value<1000) { dataOutputBlobWriter.writeByte(('0'+((int)value/100))); dataOutputBlobWriter.writeByte(('0'+(((int)value%100)/10))); dataOutputBlobWriter.writeByte(('0'+((int)value%10))); return target; } else if (value<10000) { dataOutputBlobWriter.writeByte(('0'+((int)value/1000))); dataOutputBlobWriter.writeByte(('0'+(((int)value%1000)/100))); dataOutputBlobWriter.writeByte(('0'+(((int)value%100)/10))); dataOutputBlobWriter.writeByte(('0'+((int)value%10))); return target; } } ///////////////////////////// return appendValueSlow(target, value); }
public void write(HTTPHeader header, HTTPSpecification<? extends Enum<? extends HTTPContentType>, ? extends Enum<? extends HTTPRevision>, ? extends Enum<? extends HTTPVerb>, ? extends Enum<? extends HTTPHeader>> spec, ChannelReader reader) { activeTarget.write(header.rootBytes()); header.writeValue(activeTarget, spec, reader); activeTarget.writeByte('\r'); activeTarget.writeByte('\n'); }
/** * * @param header HTTPHeader to append to activeTarget * @param value CharSequence to append to activeTarget */ public void write(HTTPHeader header, CharSequence value) { activeTarget.write(header.rootBytes()); activeTarget.append(value); activeTarget.writeByte('\r'); activeTarget.writeByte('\n'); }
/** * * @param header HTTPHeader to append to activeTarget * @param value HeaderValue to append HTTPHeader to */ public void write(HTTPHeader header, HeaderValue value) { activeTarget.write(header.rootBytes()); value.appendTo(activeTarget); activeTarget.writeByte('\r'); activeTarget.writeByte('\n'); }
public void writeNoise(ChannelWriter target, long id, int maxNoise) { int size = sr.nextInt(maxNoise); if (size<=0) { target.writePackedInt(0); } else { target.writePackedInt(size); int bytesRemaining = size&0x3; int intsRemaining = size>>2; while(--bytesRemaining>=0) { target.writeByte(sr.nextInt(256)); } while (--intsRemaining>=0) { target.writeInt(sr.nextInt()); } } }