Java Code Examples for org.apache.thrift.protocol.TProtocol#readString()
The following examples show how to use
org.apache.thrift.protocol.TProtocol#readString() .
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: AbstractThriftBase.java From ikasoa with MIT License | 6 votes |
/** * 读取操作 */ @Override public void read(TProtocol iprot) throws TException { if (!StringUtil.equals("org.apache.thrift.scheme.StandardScheme", iprot.getScheme().getName())) throw new TApplicationException("Service scheme must be 'org.apache.thrift.scheme.StandardScheme' !"); TField schemeField; iprot.readStructBegin(); while (true) { schemeField = iprot.readFieldBegin(); if (ObjectUtil.same(schemeField.type, TType.STOP)) break; if (ObjectUtil.same(schemeField.type, TType.STRING)) str = iprot.readString(); else throw new TApplicationException("field type must be 'String' !"); iprot.readFieldEnd(); } iprot.readStructEnd(); }
Example 2
Source File: TApplicationExceptions.java From armeria with Apache License 2.0 | 5 votes |
/** * Reads a {@link TApplicationException} from the specified {@link TProtocol}. * * <p>Note: This has been copied from {@link TApplicationException#read(TProtocol)} due to API differences * between libthrift 0.9.x and 0.10.x. */ public static TApplicationException read(TProtocol iprot) throws TException { TField field; iprot.readStructBegin(); String message = null; int type = TApplicationException.UNKNOWN; while (true) { field = iprot.readFieldBegin(); if (field.type == TType.STOP) { break; } switch (field.id) { case 1: if (field.type == TType.STRING) { message = iprot.readString(); } else { TProtocolUtil.skip(iprot, field.type); } break; case 2: if (field.type == TType.I32) { type = iprot.readI32(); } else { TProtocolUtil.skip(iprot, field.type); } break; default: TProtocolUtil.skip(iprot, field.type); break; } iprot.readFieldEnd(); } iprot.readStructEnd(); return new TApplicationException(type, message); }
Example 3
Source File: BinMem.java From ThriftBook with Apache License 2.0 | 5 votes |
public static void main(String[] args) throws TException { TMemoryBuffer trans = new TMemoryBuffer(4096); TProtocol proto = new TBinaryProtocol(trans); proto.writeString("Hello Thrift Serialization"); System.out.println("Wrote " + trans.length() + " bytes to the TMemoryBuffer"); String strMsg = proto.readString(); System.out.println("Recovered string: " + strMsg); }
Example 4
Source File: BinFileRead.java From ThriftBook with Apache License 2.0 | 5 votes |
public static void main(String[] args) throws TException { TTransport trans = new TSimpleFileTransport("data", true, false); TProtocol proto = new TBinaryProtocol(trans); Trade trade_read = new Trade(); TField field = new TField(); TStruct struct_obj = proto.readStructBegin(); while(true) { field = proto.readFieldBegin(); if (field.id == TType.STOP) { break; } switch(field.id) { case 1: trade_read.symbol = proto.readString(); break; case 2: trade_read.price = proto.readDouble(); break; case 3: trade_read.size = proto.readI32(); break; default: TProtocolUtil.skip(proto,field.type); break; } proto.readFieldEnd(); } proto.readStructEnd(); System.out.println("Trade: " + trade_read.symbol + " " + trade_read.size + " @ " + trade_read.price); }
Example 5
Source File: MultiServiceProcessor.java From dubbo-2.6.5 with Apache License 2.0 | 4 votes |
@Override public boolean process(TProtocol in, TProtocol out) throws TException { short magic = in.readI16(); if (magic != ThriftCodec.MAGIC) { logger.error("Unsupported magic " + magic); return false; } in.readI32(); in.readI16(); byte version = in.readByte(); String serviceName = in.readString(); long id = in.readI64(); ByteArrayOutputStream bos = new ByteArrayOutputStream(1024); TIOStreamTransport transport = new TIOStreamTransport(bos); TProtocol protocol = protocolFactory.getProtocol(transport); TProcessor processor = processorMap.get(serviceName); if (processor == null) { logger.error("Could not find processor for service " + serviceName); return false; } // todo if exception boolean result = processor.process(in, protocol); ByteArrayOutputStream header = new ByteArrayOutputStream(512); TIOStreamTransport headerTransport = new TIOStreamTransport(header); TProtocol headerProtocol = protocolFactory.getProtocol(headerTransport); headerProtocol.writeI16(magic); headerProtocol.writeI32(Integer.MAX_VALUE); headerProtocol.writeI16(Short.MAX_VALUE); headerProtocol.writeByte(version); headerProtocol.writeString(serviceName); headerProtocol.writeI64(id); headerProtocol.getTransport().flush(); out.writeI16(magic); out.writeI32(bos.size() + header.size()); out.writeI16((short) (0xffff & header.size())); out.writeByte(version); out.writeString(serviceName); out.writeI64(id); out.getTransport().write(bos.toByteArray()); out.getTransport().flush(); return result; }
Example 6
Source File: MultiServiceProcessor.java From dubbox with Apache License 2.0 | 4 votes |
public boolean process( TProtocol in, TProtocol out ) throws TException { short magic = in.readI16(); if ( magic != ThriftCodec.MAGIC ) { logger.error( new StringBuilder( 24 ) .append( "Unsupported magic " ) .append( magic ).toString() ); return false; } in.readI32(); in.readI16(); byte version = in.readByte(); String serviceName = in.readString(); long id = in.readI64(); ByteArrayOutputStream bos = new ByteArrayOutputStream( 1024 ); TIOStreamTransport transport = new TIOStreamTransport( bos ); TProtocol protocol = protocolFactory.getProtocol( transport ); TProcessor processor = processorMap.get( serviceName ); if ( processor == null ) { logger.error( new StringBuilder( 32 ) .append( "Could not find processor for service " ) .append( serviceName ) .toString() ); return false; } // todo if exception boolean result = processor.process( in, protocol ); ByteArrayOutputStream header = new ByteArrayOutputStream( 512 ); TIOStreamTransport headerTransport = new TIOStreamTransport( header ); TProtocol headerProtocol = protocolFactory.getProtocol( headerTransport ); headerProtocol.writeI16( magic ); headerProtocol.writeI32( Integer.MAX_VALUE ); headerProtocol.writeI16( Short.MAX_VALUE ); headerProtocol.writeByte( version ); headerProtocol.writeString( serviceName ); headerProtocol.writeI64( id ); headerProtocol.getTransport().flush(); out.writeI16( magic ); out.writeI32( bos.size() + header.size() ); out.writeI16( ( short ) ( 0xffff & header.size() ) ); out.writeByte( version ); out.writeString( serviceName ); out.writeI64( id ); out.getTransport().write( bos.toByteArray() ); out.getTransport().flush(); return result; }
Example 7
Source File: MultiServiceProcessor.java From dubbox-hystrix with Apache License 2.0 | 4 votes |
public boolean process( TProtocol in, TProtocol out ) throws TException { short magic = in.readI16(); if ( magic != ThriftCodec.MAGIC ) { logger.error( new StringBuilder( 24 ) .append( "Unsupported magic " ) .append( magic ).toString() ); return false; } in.readI32(); in.readI16(); byte version = in.readByte(); String serviceName = in.readString(); long id = in.readI64(); ByteArrayOutputStream bos = new ByteArrayOutputStream( 1024 ); TIOStreamTransport transport = new TIOStreamTransport( bos ); TProtocol protocol = protocolFactory.getProtocol( transport ); TProcessor processor = processorMap.get( serviceName ); if ( processor == null ) { logger.error( new StringBuilder( 32 ) .append( "Could not find processor for service " ) .append( serviceName ) .toString() ); return false; } // todo if exception boolean result = processor.process( in, protocol ); ByteArrayOutputStream header = new ByteArrayOutputStream( 512 ); TIOStreamTransport headerTransport = new TIOStreamTransport( header ); TProtocol headerProtocol = protocolFactory.getProtocol( headerTransport ); headerProtocol.writeI16( magic ); headerProtocol.writeI32( Integer.MAX_VALUE ); headerProtocol.writeI16( Short.MAX_VALUE ); headerProtocol.writeByte( version ); headerProtocol.writeString( serviceName ); headerProtocol.writeI64( id ); headerProtocol.getTransport().flush(); out.writeI16( magic ); out.writeI32( bos.size() + header.size() ); out.writeI16( ( short ) ( 0xffff & header.size() ) ); out.writeByte( version ); out.writeString( serviceName ); out.writeI64( id ); out.getTransport().write( bos.toByteArray() ); out.getTransport().flush(); return result; }
Example 8
Source File: MultiServiceProcessor.java From dubbox with Apache License 2.0 | 4 votes |
public boolean process( TProtocol in, TProtocol out ) throws TException { short magic = in.readI16(); if ( magic != ThriftCodec.MAGIC ) { logger.error( new StringBuilder( 24 ) .append( "Unsupported magic " ) .append( magic ).toString() ); return false; } in.readI32(); in.readI16(); byte version = in.readByte(); String serviceName = in.readString(); long id = in.readI64(); ByteArrayOutputStream bos = new ByteArrayOutputStream( 1024 ); TIOStreamTransport transport = new TIOStreamTransport( bos ); TProtocol protocol = protocolFactory.getProtocol( transport ); TProcessor processor = processorMap.get( serviceName ); if ( processor == null ) { logger.error( new StringBuilder( 32 ) .append( "Could not find processor for service " ) .append( serviceName ) .toString() ); return false; } // todo if exception boolean result = processor.process( in, protocol ); ByteArrayOutputStream header = new ByteArrayOutputStream( 512 ); TIOStreamTransport headerTransport = new TIOStreamTransport( header ); TProtocol headerProtocol = protocolFactory.getProtocol( headerTransport ); headerProtocol.writeI16( magic ); headerProtocol.writeI32( Integer.MAX_VALUE ); headerProtocol.writeI16( Short.MAX_VALUE ); headerProtocol.writeByte( version ); headerProtocol.writeString( serviceName ); headerProtocol.writeI64( id ); headerProtocol.getTransport().flush(); out.writeI16( magic ); out.writeI32( bos.size() + header.size() ); out.writeI16( ( short ) ( 0xffff & header.size() ) ); out.writeByte( version ); out.writeString( serviceName ); out.writeI64( id ); out.getTransport().write( bos.toByteArray() ); out.getTransport().flush(); return result; }
Example 9
Source File: TypeAdapter.java From Firefly with Apache License 2.0 | 4 votes |
@Override public String read(TProtocol protocol) throws TException { return protocol.readString(); }
Example 10
Source File: MultiServiceProcessor.java From dubbox with Apache License 2.0 | 4 votes |
public boolean process( TProtocol in, TProtocol out ) throws TException { short magic = in.readI16(); if ( magic != ThriftCodec.MAGIC ) { logger.error( new StringBuilder( 24 ) .append( "Unsupported magic " ) .append( magic ).toString() ); return false; } in.readI32(); in.readI16(); byte version = in.readByte(); String serviceName = in.readString(); long id = in.readI64(); ByteArrayOutputStream bos = new ByteArrayOutputStream( 1024 ); TIOStreamTransport transport = new TIOStreamTransport( bos ); TProtocol protocol = protocolFactory.getProtocol( transport ); TProcessor processor = processorMap.get( serviceName ); if ( processor == null ) { logger.error( new StringBuilder( 32 ) .append( "Could not find processor for service " ) .append( serviceName ) .toString() ); return false; } // todo if exception boolean result = processor.process( in, protocol ); ByteArrayOutputStream header = new ByteArrayOutputStream( 512 ); TIOStreamTransport headerTransport = new TIOStreamTransport( header ); TProtocol headerProtocol = protocolFactory.getProtocol( headerTransport ); headerProtocol.writeI16( magic ); headerProtocol.writeI32( Integer.MAX_VALUE ); headerProtocol.writeI16( Short.MAX_VALUE ); headerProtocol.writeByte( version ); headerProtocol.writeString( serviceName ); headerProtocol.writeI64( id ); headerProtocol.getTransport().flush(); out.writeI16( magic ); out.writeI32( bos.size() + header.size() ); out.writeI16( ( short ) ( 0xffff & header.size() ) ); out.writeByte( version ); out.writeString( serviceName ); out.writeI64( id ); out.getTransport().write( bos.toByteArray() ); out.getTransport().flush(); return result; }