com.alibaba.dubbo.rpc.protocol.thrift.ThriftCodec Java Examples
The following examples show how to use
com.alibaba.dubbo.rpc.protocol.thrift.ThriftCodec.
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: 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 #2
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 #3
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 #4
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 #5
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; }