Examples of BBEncoder


Examples of org.apache.qpid.transport.codec.BBEncoder

                }
                qObj.encode(enc);
                break;
            case 21: // List
                ArrayList<Object> items = (ArrayList<Object>) val;
                BBEncoder lEnc = new BBEncoder(1);
                lEnc.init();
                lEnc.writeUint32(items.size());
                for (Object obj : items)
                {
                    short innerType = Util.qmfType(obj);
                    lEnc.writeUint8(innerType);
                    this.encodeValue(lEnc, innerType, obj);
                }
                enc.writeVbin32(lEnc.segment().array());
                break;
            case 22: // Array
                ArrayList<Object> aItems = (ArrayList<Object>) val;
                BBEncoder aEnc = new BBEncoder(1);
                aEnc.init();
                long aCount = aItems.size();
                aEnc.writeUint32(aCount);
                if (aCount > 0)
                {
                    Object anObj = aItems.get(0);
                    short innerType = Util.qmfType(anObj);
                    aEnc.writeUint8(innerType);
                    for (Object obj : aItems)
                    {
                        this.encodeValue(aEnc, innerType, obj);
                    }
                }
                enc.writeVbin32(aEnc.segment().array());
                break;
            default:
                throw new ConsoleException(String.format(
                        "Invalid Type Code: %s", type));
            }
View Full Code Here

Examples of org.apache.qpid.transport.codec.BBEncoder

        return buf.limit();
    }

    private ByteBuffer encodeAsBuffer()
    {
        BBEncoder encoder = new BBEncoder(ENCODER_SIZE);

        encoder.writeInt64(_arrivalTime);
        encoder.writeInt32(_bodySize);
        Struct[] headers = _header == null ? new Struct[0] : _header.getStructs();
        encoder.writeInt32(headers.length);


        for(Struct header : headers)
        {
            encoder.writeStruct32(header);

        }

        ByteBuffer buf = encoder.buffer();
        return buf;
    }
View Full Code Here

Examples of org.apache.qpid.transport.codec.BBEncoder

        return returnValue;
    }

    public Encoder createEncoder(char opcode, long sequence)
    {
        return setHeader(new BBEncoder(1024), opcode, sequence);
    }
View Full Code Here

Examples of org.apache.qpid.transport.codec.BBEncoder

    {
        try
        {
            byte[] buf = new byte[1024];
            byte[] body = new byte[1024];
            BBEncoder bbenc = (BBEncoder) enc;
            BytesMessage msg = session.createBytesMessage();
            ByteBuffer slice = bbenc.buffer();
            while (slice.hasRemaining())
            {
                int n = Math.min(buf.length, slice.remaining());
                slice.get(buf, 0, n);
                msg.writeBytes(buf, 0, n);
View Full Code Here

Examples of org.apache.qpid.transport.codec.BBEncoder

    }

    public void encode(Encoder enc, Object value)
    {
        List list = (List) value;
        BBEncoder newEncoder = new BBEncoder(10);
        if (list != null)
        {
            newEncoder.writeUint32(list.size());
            for (Object obj : list)
            {
                TypeBinding type = bctx.getTypeBinding(obj.getClass());
                newEncoder.writeUint8(type.getCode());
                type.encode(newEncoder, obj);
            }
        } else
        {
            newEncoder.writeUint32(0);
        }
        enc.writeVbin32(newEncoder.buffer().array());
    }
View Full Code Here

Examples of org.apache.qpid.transport.codec.BBEncoder

     */
    public void raiseEvent(Object value, EventSeverity sev)
    {
        log.debug(String.format("Sending event of class %s with Severity %s",
                value.getClass(), sev.ordinal()));
        BBEncoder enc = this.init('e');
        ClassBinding cb = bctx.getClassBinding(value.getClass());
        String pkg = cb.getPackage();
        String cls = cb.getName();
        enc.writeStr8(pkg);
        enc.writeStr8(cls);
        enc.writeBin128(cb.getSchemaHash());
        long now = System.currentTimeMillis() * 1000000;
        enc.writeInt64(now);
        enc.writeUint8((short) sev.ordinal());
        for (PropertyBinding p : cb.getProperties())
        {
            p.getType().encode(enc, BindingUtils.get(p, value));
        }
        send(
View Full Code Here

Examples of org.apache.qpid.transport.codec.BBEncoder

        return init(opcode, 0);
    }

    protected BBEncoder init(char opcode, long sequence)
    {
        BBEncoder enc = new BBEncoder(1024);
        enc.init();
        enc.writeUint8((short) 'A');
        enc.writeUint8((short) 'M');
        enc.writeUint8((short) '2');
        enc.writeUint8((short) opcode);
        enc.writeUint32(sequence);
        return enc;
    }
View Full Code Here

Examples of org.apache.qpid.transport.codec.BBEncoder

        }
    }

    protected void attachRequest(String label, UUID systemId)
    {
        BBEncoder enc = init('A');
        enc.writeStr8(label);
        enc.writeUuid(systemId);
        enc.writeUint32(0);
        enc.writeUint32(0);
        send(enc);
    }
View Full Code Here

Examples of org.apache.qpid.transport.codec.BBEncoder

        send(enc);
    }

    protected void packageIndication(String pkg)
    {
        BBEncoder enc = init('p');
        enc.writeStr8(pkg);
        send(enc);
    }
View Full Code Here

Examples of org.apache.qpid.transport.codec.BBEncoder

        send(enc);
    }

    protected void classIndication(ClassBinding cb)
    {
        BBEncoder enc = init('q');
        enc.writeUint8(cb.getKind());
        enc.writeStr8(cb.getPackage());
        enc.writeStr8(cb.getName());
        enc.writeBin128(cb.getSchemaHash()); // schema hash?
        send(enc);
    }
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. 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.