本文整理汇总了Java中com.alibaba.dubbo.rpc.gen.thrift.Demo.echoString_args方法的典型用法代码示例。如果您正苦于以下问题:Java Demo.echoString_args方法的具体用法?Java Demo.echoString_args怎么用?Java Demo.echoString_args使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类com.alibaba.dubbo.rpc.gen.thrift.Demo
的用法示例。
在下文中一共展示了Demo.echoString_args方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: testDecodeRequest
import com.alibaba.dubbo.rpc.gen.thrift.Demo; //导入方法依赖的package包/类
@Test
public void testDecodeRequest() throws Exception {
Request request = createRequest();
// encode
RandomAccessByteArrayOutputStream bos = new RandomAccessByteArrayOutputStream( 1024 );
TIOStreamTransport transport = new TIOStreamTransport( bos );
TBinaryProtocol protocol = new TBinaryProtocol( transport );
int messageLength, headerLength;
protocol.writeI16( ThriftCodec.MAGIC );
protocol.writeI32( Integer.MAX_VALUE );
protocol.writeI16( Short.MAX_VALUE );
protocol.writeByte( ThriftCodec.VERSION );
protocol.writeString(
( ( RpcInvocation ) request.getData() )
.getAttachment( Constants.INTERFACE_KEY) );
protocol.writeI64( request.getId() );
protocol.getTransport().flush();
headerLength = bos.size();
Demo.echoString_args args = new Demo.echoString_args( );
args.setArg( "Hell, World!" );
TMessage message = new TMessage( "echoString", TMessageType.CALL, ThriftCodec.getSeqId() );
protocol.writeMessageBegin( message );
args.write( protocol );
protocol.writeMessageEnd();
protocol.getTransport().flush();
int oldIndex = messageLength = bos.size();
try{
bos.setWriteIndex( ThriftCodec.MESSAGE_HEADER_LENGTH_INDEX );
protocol.writeI16( ( short ) ( 0xffff & headerLength ) );
bos.setWriteIndex( ThriftCodec.MESSAGE_LENGTH_INDEX );
protocol.writeI32( messageLength );
} finally {
bos.setWriteIndex( oldIndex );
}
Object obj = codec.decode( ( Channel ) null, ChannelBuffers.wrappedBuffer(
encodeFrame(bos.toByteArray())) );
Assert.assertTrue( obj instanceof Request );
obj = ( ( Request ) obj ).getData();
Assert.assertTrue( obj instanceof RpcInvocation );
RpcInvocation invocation = ( RpcInvocation ) obj;
Assert.assertEquals( "echoString", invocation.getMethodName() );
Assert.assertArrayEquals( new Class[] {String .class}, invocation.getParameterTypes() );
Assert.assertArrayEquals( new Object[] { args.getArg() }, invocation.getArguments() );
}
示例2: testDecodeRequest
import com.alibaba.dubbo.rpc.gen.thrift.Demo; //导入方法依赖的package包/类
@Test
public void testDecodeRequest() throws Exception {
Request request = createRequest();
// encode
RandomAccessByteArrayOutputStream bos = new RandomAccessByteArrayOutputStream(1024);
TIOStreamTransport transport = new TIOStreamTransport(bos);
TBinaryProtocol protocol = new TBinaryProtocol(transport);
int messageLength, headerLength;
protocol.writeI16(ThriftCodec.MAGIC);
protocol.writeI32(Integer.MAX_VALUE);
protocol.writeI16(Short.MAX_VALUE);
protocol.writeByte(ThriftCodec.VERSION);
protocol.writeString(
((RpcInvocation) request.getData())
.getAttachment(Constants.INTERFACE_KEY));
protocol.writeI64(request.getId());
protocol.getTransport().flush();
headerLength = bos.size();
Demo.echoString_args args = new Demo.echoString_args();
args.setArg("Hell, World!");
TMessage message = new TMessage("echoString", TMessageType.CALL, ThriftCodec.getSeqId());
protocol.writeMessageBegin(message);
args.write(protocol);
protocol.writeMessageEnd();
protocol.getTransport().flush();
int oldIndex = messageLength = bos.size();
try {
bos.setWriteIndex(ThriftCodec.MESSAGE_HEADER_LENGTH_INDEX);
protocol.writeI16((short) (0xffff & headerLength));
bos.setWriteIndex(ThriftCodec.MESSAGE_LENGTH_INDEX);
protocol.writeI32(messageLength);
} finally {
bos.setWriteIndex(oldIndex);
}
Object obj = codec.decode((Channel) null, ChannelBuffers.wrappedBuffer(
encodeFrame(bos.toByteArray())));
Assert.assertTrue(obj instanceof Request);
obj = ((Request) obj).getData();
Assert.assertTrue(obj instanceof RpcInvocation);
RpcInvocation invocation = (RpcInvocation) obj;
Assert.assertEquals("echoString", invocation.getMethodName());
Assert.assertArrayEquals(new Class[]{String.class}, invocation.getParameterTypes());
Assert.assertArrayEquals(new Object[]{args.getArg()}, invocation.getArguments());
}
示例3: testEncodeRequest
import com.alibaba.dubbo.rpc.gen.thrift.Demo; //导入方法依赖的package包/类
@Test
public void testEncodeRequest() throws Exception {
Request request = createRequest();
ChannelBuffer output = ChannelBuffers.dynamicBuffer(1024);
codec.encode( channel, output, request );
byte[] bytes = new byte[output.readableBytes()];
output.readBytes(bytes);
ByteArrayInputStream bis = new ByteArrayInputStream( bytes );
TTransport transport = new TIOStreamTransport( bis );
TBinaryProtocol protocol = new TBinaryProtocol( transport );
// frame
byte[] length = new byte[4];
transport.read( length, 0, 4 );
if ( bis.markSupported() ) {
bis.mark( 0 );
}
// magic
Assert.assertEquals( ThriftCodec.MAGIC, protocol.readI16() );
// message length
int messageLength = protocol.readI32();
Assert.assertEquals( messageLength + 4, bytes.length );
// header length
short headerLength = protocol.readI16();
// version
Assert.assertEquals( ThriftCodec.VERSION, protocol.readByte() );
// service name
Assert.assertEquals( Demo.Iface.class.getName(), protocol.readString() );
// dubbo request id
Assert.assertEquals( request.getId(), protocol.readI64() );
// test message header length
if ( bis.markSupported() ) {
bis.reset();
bis.skip( headerLength );
}
TMessage message = protocol.readMessageBegin();
Demo.echoString_args args = new Demo.echoString_args();
args.read( protocol );
protocol.readMessageEnd();
Assert.assertEquals( "echoString", message.name );
Assert.assertEquals( TMessageType.CALL, message.type );
Assert.assertEquals( "Hello, World!", args.getArg() );
}
示例4: testEncodeRequest
import com.alibaba.dubbo.rpc.gen.thrift.Demo; //导入方法依赖的package包/类
@Test
public void testEncodeRequest() throws Exception {
Request request = createRequest();
ChannelBuffer output = ChannelBuffers.dynamicBuffer(1024);
codec.encode(channel, output, request);
byte[] bytes = new byte[output.readableBytes()];
output.readBytes(bytes);
ByteArrayInputStream bis = new ByteArrayInputStream(bytes);
TTransport transport = new TIOStreamTransport(bis);
TBinaryProtocol protocol = new TBinaryProtocol(transport);
// frame
byte[] length = new byte[4];
transport.read(length, 0, 4);
if (bis.markSupported()) {
bis.mark(0);
}
// magic
Assert.assertEquals(ThriftCodec.MAGIC, protocol.readI16());
// message length
int messageLength = protocol.readI32();
Assert.assertEquals(messageLength + 4, bytes.length);
// header length
short headerLength = protocol.readI16();
// version
Assert.assertEquals(ThriftCodec.VERSION, protocol.readByte());
// service name
Assert.assertEquals(Demo.Iface.class.getName(), protocol.readString());
// dubbo request id
Assert.assertEquals(request.getId(), protocol.readI64());
// test message header length
if (bis.markSupported()) {
bis.reset();
bis.skip(headerLength);
}
TMessage message = protocol.readMessageBegin();
Demo.echoString_args args = new Demo.echoString_args();
args.read(protocol);
protocol.readMessageEnd();
Assert.assertEquals("echoString", message.name);
Assert.assertEquals(TMessageType.CALL, message.type);
Assert.assertEquals("Hello, World!", args.getArg());
}