private int writeUTFArray(String[] utfs, int len, byte[] bufLocal, int mask, int pos) { pos = writePackedInt(bufLocal, mask, pos, len); for(int i=0;i<len;i++) { pos = writeUTF(this, utfs[i], utfs[i].length(), mask, bufLocal, pos); } return pos; }
@Override public void writeUTF(CharSequence s) { if (null!=s) { activePosition = writeUTF(this, s, s.length(), byteMask, byteBuffer, activePosition); } else { writeShort(-1); } }
@Override public void writeUTF(String s) { checkLimit(this,s.length()*6);//Estimated (maximum length) super.writeUTF(s); }
private int writeUTFArray(String[] utfs, int len, byte[] bufLocal, int mask, int pos) { pos = writePackedInt(bufLocal, mask, pos, len); for(int i=0;i<len;i++) { pos = writeUTF(this, utfs[i], utfs[i].length(), mask, bufLocal, pos); } return pos; }
@Override public void writeUTF(CharSequence s) { if (null!=s) { activePosition = writeUTF(this, s, s.length(), byteMask, byteBuffer, activePosition); } else { writeShort(-1); } }
@Override public void writeUTF(CharSequence s) { checkLimit(this,s.length()*6);//Estimated (maximum length) super.writeUTF(s); }
@Override public void writeUTF(String s) { checkLimit(this,s.length()*6);//Estimated (maximum length) super.writeUTF(s); }
@Override public void writeUTF(String s) { if (null!=s) { activePosition = writeUTF(this, s, s.length(), byteMask, byteBuffer, activePosition); } else { writeShort(-1); } }
@Override public void writeUTF(String s) { if (null!=s) { activePosition = writeUTF(this, s, s.length(), byteMask, byteBuffer, activePosition); } else { writeShort(-1); } }
@Override public void writeUTF(CharSequence s) { checkLimit(this,s.length()*6);//Estimated (maximum length) super.writeUTF(s); }
@Override public void writeUTF(String s) { if (null!=s) { activePosition = writeUTF(this, s, s.length(), byteMask, byteBuffer, activePosition); } else { writeShort(-1); } }
@Override public void writeUTF(CharSequence s) { if (null!=s) { activePosition = writeUTF(this, s, s.length(), byteMask, byteBuffer, activePosition); } else { writeShort(-1); } }
private int writeUTFArray(String[] utfs, int len, byte[] bufLocal, int mask, int pos) { pos = writePackedInt(bufLocal, mask, pos, len); for(int i=0;i<len;i++) { pos = writeUTF(this, utfs[i], utfs[i].length(), mask, bufLocal, pos); } return pos; }
/** * Writes CharSequence to specified field in pipe * calls selectStruct(id) only after setting all the object fields * @param assoc field association showing where to write * @param text CharSequence to be written */ public void writeText(Object assoc, CharSequence text) { assert(DataOutputBlobWriter.getStructType(channelWriter)<=0) : "call selectStruct(id) only after setting all the object fields."; storeAssocAndPosition(assoc); channelWriter.writeUTF(text); }
/** * Writes CharSequence to specified field in pipe * calls selectStruct(id) only after setting all the object fields * @param assoc field association showing where to write * @param text CharSequence to be written */ public void writeText(Object assoc, CharSequence text) { assert(DataOutputBlobWriter.getStructType(channelWriter)<=0) : "call selectStruct(id) only after setting all the object fields."; storeAssocAndPosition(assoc); channelWriter.writeUTF(text); }
/** * Writes CharSequence to specified field in pipe * calls selectStruct(id) only after setting all the object fields * @param assoc field association showing where to write * @param text CharSequence to be written */ public void writeText(Object assoc, CharSequence text) { assert(DataOutputBlobWriter.getStructType(channelWriter)<=0) : "call selectStruct(id) only after setting all the object fields."; storeAssocAndPosition(assoc); channelWriter.writeUTF(text); }
@Test public void decodeStringTest() throws IOException{ Pipe<RawDataSchema> pipe = new Pipe<RawDataSchema>(new PipeConfig<RawDataSchema>(RawDataSchema.instance, 100, 4000)); pipe.initBuffers(); DataOutputBlobWriter<RawDataSchema> writer = new DataOutputBlobWriter<RawDataSchema>(pipe); DataOutputBlobWriter.writePackedInt(writer, -63); writer.writeUTF("This is a test"); writer.close(); DataInputBlobReader<RawDataSchema> reader = new DataInputBlobReader<RawDataSchema>(pipe); String stest = PhastDecoder.decodeString(reader, false); reader.close(); assertTrue(stest.compareTo("This is a test") == 0); }
stream.writeUTF(topic); DataOutputBlobWriter.closeHighLevelField(stream, MQTTClientRequestSchema.MSG_PUBLISH_3_FIELD_TOPIC_23);