Package com.alibaba.dubbo.common.io

Examples of com.alibaba.dubbo.common.io.UnsafeByteArrayOutputStream


    list.add(new int[]{ 1,2,3,4,5 });
    list.add("String");
    list.add(4);
    list.code = 4321;
   
    UnsafeByteArrayOutputStream os = new UnsafeByteArrayOutputStream();
    b1.writeTo(list, os);
    byte[] b = os.toByteArray();
    System.out.println(b.length+":"+Bytes.bytes2hex(b));
    MyList result = b1.parseFrom(b);

    assertEquals(4, result.size());
    assertEquals(result.code, 4321);
View Full Code Here


   
    @Test
    @SuppressWarnings({ "rawtypes", "unchecked" })
    public void testBuilder_MyMap() throws Exception
    {
        UnsafeByteArrayOutputStream os = new UnsafeByteArrayOutputStream();
        Builder<MyMap> b2 = Builder.register(MyMap.class);
        MyMap map = new MyMap();
        map.put("name", "qianlei");
        map.put("displayName", "钱磊");
        map.code = 4321;
        b2.writeTo(map, os);
        byte[] b = os.toByteArray();
        System.out.println(b.length+":"+Bytes.bytes2hex(b));
       
        map = b2.parseFrom(b);
       
        assertEquals(map.size(), 2);
View Full Code Here

    @Test
  @SuppressWarnings("unchecked")
  public void testSerializableBean() throws Exception
  {
    System.out.println("testSerializableBean");
    UnsafeByteArrayOutputStream os = new UnsafeByteArrayOutputStream();

    SerializableBean sb = new SerializableBean();
    Builder<SerializableBean> sbb = Builder.register(SerializableBean.class);
    sbb.writeTo(sb, os);

    byte[] b = os.toByteArray();
    System.out.println(b.length+":"+Bytes.bytes2hex(b));
    assertEquals(sbb.parseFrom(os.toByteArray()), sb);
  }
View Full Code Here

    @Test
  @SuppressWarnings("unchecked")
  public void testOthers() throws Exception
  {
    UnsafeByteArrayOutputStream os = new UnsafeByteArrayOutputStream();

    StringBuffer buf = new StringBuffer();
    for(int i=0;i<1024*32+32;i++)
      buf.append('A');
    Builder<String> sb = Builder.register(String.class);
    sb.writeTo(buf.toString(), os);
    assertEquals(sb.parseFrom(os.toByteArray()), buf.toString());

    os = new UnsafeByteArrayOutputStream();
    Builder<HashMap> builder = Builder.register(HashMap.class);
    Map services = new HashMap();
    HashMap map = new HashMap();
    services.put("test.service", "http://127.0.0.1:9010/test.service");
    map.put("name", "qianlei");
    map.put("password", "123455");
    map.put("services", services);

    builder.writeTo(map, os);
    byte[] b = os.toByteArray();
    System.out.println(b.length+":"+Bytes.bytes2hex(b));
    map = builder.parseFrom(b);
    assertTrue(map.size() > 0);
        assertEquals("http://127.0.0.1:9010/test.service", ((Map) map.get("services")).get("test.service"));

    services = new ConcurrentHashMap();
    services.put("test.service", "http://127.0.0.1:9010/test.service");
    map.put("services", services);

    os = new UnsafeByteArrayOutputStream();
    builder.writeTo(map, os);
    b = os.toByteArray();
    System.out.println(b.length+":"+Bytes.bytes2hex(b));
    map = builder.parseFrom(b);
    assertTrue(map.size() > 0);
    assertEquals("http://127.0.0.1:9010/test.service", ((Map) map.get("services")).get("test.service"));

    Node node1 = new Node();
    Node node0 = new Node();
    node0.value = "0";
    node0.next = node1;
    node1.value = "1";
    node1.prev = node0;
    // write.
    Builder<Node> nodebuilder = Builder.register(Node.class);
    os = new UnsafeByteArrayOutputStream();
    nodebuilder.writeTo(node0, os);
    b = os.toByteArray();
    System.out.println("Node:"+b.length+":"+Bytes.bytes2hex(b));
    // parse
    node0 = nodebuilder.parseFrom(b);
    assertEquals(node0, node0.prev);
    assertEquals(node0, node0.next.prev);
View Full Code Here

    }
    @Test
  public void testWithFC() throws Exception
  {
    Builder<SimpleDO> builder = Builder.register(SimpleDO.class);
    UnsafeByteArrayOutputStream os = new UnsafeByteArrayOutputStream();

    SimpleDO sd = new SimpleDO();
    sd.a = 1;
    sd.b = 2;
    sd.c = 3;
    sd.str1 = "12345";
    sd.str2 = "54321";
    builder.writeTo(sd, os);
    byte[] b = os.toByteArray();
    System.out.println(b.length+":"+Bytes.bytes2hex(b));

    sd = builder.parseFrom(b);
    assertEquals(sd.a, 1);
    assertEquals(sd.b, 2);
View Full Code Here

        // set request id.
        Bytes.long2bytes(req.getId(), header, 4);

        // encode request data.
        UnsafeByteArrayOutputStream bos = new UnsafeByteArrayOutputStream(1024);
        ObjectOutput out = serialization.serialize(channel.getUrl(), bos);
        if (req.isEvent()) {
            encodeEventData(channel, out, req.getData());
        } else {
            encodeRequestData(channel, out, req.getData());
        }
        out.flushBuffer();
        bos.flush();
        bos.close();
        byte[] data = bos.toByteArray();
        Bytes.int2bytes(data.length, header, 12);

        // write
        os.write(header); // write header.
        os.write(data); // write data.
View Full Code Here

            byte status = res.getStatus();
            header[3] = status;
            // set request id.
            Bytes.long2bytes(res.getId(), header, 4);
   
            UnsafeByteArrayOutputStream bos = new UnsafeByteArrayOutputStream(1024);
            ObjectOutput out = serialization.serialize(channel.getUrl(), bos);
            // encode response data or error message.
            if (status == Response.OK) {
                if (res.isHeartbeat()) {
                    encodeHeartbeatData(channel, out, res.getResult());
                } else {
                    encodeResponseData(channel, out, res.getResult());
                }
            }
            else out.writeUTF(res.getErrorMessage());
            out.flushBuffer();
            bos.flush();
            bos.close();
   
            byte[] data = bos.toByteArray();
            Bytes.int2bytes(data.length, header, 12);
            // write
            os.write(header); // write header.
            os.write(data); // write data.
        } catch (Throwable t) {
View Full Code Here

    @Override
    public NextAction handleWrite(FilterChainContext context) throws IOException {
        Connection<?> connection = context.getConnection();
        GrizzlyChannel channel = GrizzlyChannel.getOrAddChannel(connection, url, handler);
        try {
            UnsafeByteArrayOutputStream output = new UnsafeByteArrayOutputStream(1024); // 不需要关闭
           
            if(!(context.getMessage() instanceof Response)){
                downstreamCodec.encode(channel, output, context.getMessage());
            }else{
                upstreamCodec.encode(channel, output, context.getMessage());
            }
           
            GrizzlyChannel.removeChannelIfDisconnectd(connection);
            byte[] bytes = output.toByteArray();
            Buffer buffer = connection.getTransport().getMemoryManager().allocate(bytes.length);
            buffer.put(bytes);
            buffer.flip();
            buffer.allowBufferDispose(true);
            context.setMessage(buffer);
View Full Code Here

        // set request id.
        Bytes.long2bytes(req.getId(), header, 4);

        // encode request data.
        UnsafeByteArrayOutputStream bos = new UnsafeByteArrayOutputStream(1024);
        ObjectOutput out = serialization.serialize(channel.getUrl(), bos);
        if (req.isEvent()) {
            encodeEventData(channel, out, req.getData());
        } else {
            encodeRequestData(channel, out, req.getData());
        }
        out.flushBuffer();
        bos.flush();
        bos.close();
        byte[] data = bos.toByteArray();
        Bytes.int2bytes(data.length, header, 12);

        // write
        os.write(header); // write header.
        os.write(data); // write data.
View Full Code Here

            byte status = res.getStatus();
            header[3] = status;
            // set request id.
            Bytes.long2bytes(res.getId(), header, 4);
   
            UnsafeByteArrayOutputStream bos = new UnsafeByteArrayOutputStream(1024);
            ObjectOutput out = serialization.serialize(channel.getUrl(), bos);
            // encode response data or error message.
            if (status == Response.OK) {
                if (res.isHeartbeat()) {
                    encodeHeartbeatData(channel, out, res.getResult());
                } else {
                    encodeResponseData(channel, out, res.getResult());
                }
            }
            else out.writeUTF(res.getErrorMessage());
            out.flushBuffer();
            bos.flush();
            bos.close();
   
            byte[] data = bos.toByteArray();
            Bytes.int2bytes(data.length, header, 12);
            // write
            os.write(header); // write header.
            os.write(data); // write data.
        } catch (Throwable t) {
View Full Code Here

TOP

Related Classes of com.alibaba.dubbo.common.io.UnsafeByteArrayOutputStream

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.