当前位置: 首页>>代码示例>>Java>>正文


Java Demo.echoString_args方法代码示例

本文整理汇总了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() );

}
 
开发者ID:dachengxi,项目名称:EatDubbo,代码行数:60,代码来源:ThriftCodecTest.java

示例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());

}
 
开发者ID:hufeng,项目名称:dubbo2.js,代码行数:60,代码来源:ThriftCodecTest.java

示例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() );

}
 
开发者ID:dachengxi,项目名称:EatDubbo,代码行数:64,代码来源:ThriftCodecTest.java

示例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());

}
 
开发者ID:hufeng,项目名称:dubbo2.js,代码行数:64,代码来源:ThriftCodecTest.java


注:本文中的com.alibaba.dubbo.rpc.gen.thrift.Demo.echoString_args方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。