Package streamer

Examples of streamer.ByteBuffer


            System.out.println("[" + this + "] INFO: Data received: " + buf + ".");

        // Get mouse event
        MouseOrder order = (MouseOrder)buf.getOrder();

        ByteBuffer outBuf = new ByteBuffer(6);

        outBuf.writeByte(RfbConstants.CLIENT_POINTER_EVENT);

        int buttonMask = mapAwtModifiersToVncButtonMask(order.event.getModifiersEx());
        outBuf.writeByte(buttonMask);
        outBuf.writeShort(order.event.getX());
        outBuf.writeShort(order.event.getY());

        pushDataToAllOuts(outBuf);
    }
View Full Code Here


            System.out.println("[" + this + "] INFO: Data received: " + buf + ".");

        KeyOrder order = (KeyOrder)buf.getOrder();
        buf.unref();

        ByteBuffer outBuf = new ByteBuffer(8);
        outBuf.writeByte(RfbConstants.CLIENT_KEYBOARD_EVENT);

        outBuf.writeByte((order.pressed) ? RfbConstants.KEY_DOWN : RfbConstants.KEY_UP);
        outBuf.writeShort(0); // padding
        outBuf.writeInt(map_en_us(order));

        pushDataToAllOuts(outBuf);
    }
View Full Code Here

            System.out.println("[" + this + "] INFO: Sending request for data in following format: " + textFormat + ".");

        // Store data format to parse server response later
        state.serverRequestedFormat = textFormat;

        ByteBuffer buf = new ByteBuffer(12, true);

        // Type
        buf.writeShortLE(ServerClipRdrChannelRouter.CB_FORMAT_DATA_REQUEST);
        // Message flags
        buf.writeShortLE(0);
        // Length
        buf.writeIntLE(4);

        // ID of chosen format
        buf.writeIntLE(textFormat.id);

        buf.trimAtCursor();

        pushDataToPad(STDOUT, buf);
    }
View Full Code Here

     * successful.
     *
     * @param b
     */
    protected void sendFormatListParseResponse(boolean ok) {
        ByteBuffer buf = new ByteBuffer(8, true);

        // Type
        buf.writeShortLE(ServerClipRdrChannelRouter.CB_FORMAT_LIST_RESPONSE);
        // Message flags
        buf.writeShortLE((ok) ? ServerClipRdrChannelRouter.CB_RESPONSE_OK : ServerClipRdrChannelRouter.CB_RESPONSE_FAIL);
        // Length
        buf.writeIntLE(0);

        buf.trimAtCursor();

        pushDataToPad(STDOUT, buf);
    }
View Full Code Here

            return;
        }

        try {
            // Create buffer of recommended size and with default offset
            ByteBuffer buf = new ByteBuffer(incommingBufLength);

            if (verbose)
                System.out.println("[" + this + "] INFO: Reading data from stream.");

            // FIXME: If pull is destroyed or socket is closed, segfault will happen here
            int actualLength = (block) ? // Blocking read
                    Socket.recv(socket, buf.data, buf.offset, buf.data.length - buf.offset)
                    : // Non-blocking read
                        Socket.recvt(socket, buf.data, buf.offset, buf.data.length - buf.offset, 1);

                    if (socketWrapper.shutdown) {
                        socketWrapper.destroyPull();
                        return;
                    }

                    if (actualLength < 0) {
                        if (verbose)
                            System.out.println("[" + this + "] INFO: End of stream.");

                        buf.unref();
                        closeStream();
                        sendEventToAllPads(Event.STREAM_CLOSE, Direction.OUT);
                        return;
                    }

                    if (actualLength == 0) {
                        if (verbose)
                            System.out.println("[" + this + "] INFO: Empty buffer is read from stream.");

                        buf.unref();
                        return;
                    }

                    buf.length = actualLength;
View Full Code Here

                verbose = true;
            }
        };

        byte[] data = new byte[] {1, 2, 3};
        ByteBuffer buf = new ByteBuffer(data);
        sink.setLink(STDIN, new SyncLink(), Direction.IN);
        sink.getLink(STDIN).sendData(buf);

    }
View Full Code Here

        ntlmState.ntlm_generate_random_session_key();
        ntlmState.ntlm_generate_exported_session_key();
        ntlmState.ntlm_encrypt_random_session_key();
        ntlmState.ntlm_init_rc4_seal_states();

        ByteBuffer authenticateMessage = generateAuthenticateMessage(ntlmState);
        ByteBuffer messageSignatureAndEncryptedServerPublicKey = generateMessageSignatureAndEncryptedServerPublicKey(ntlmState);

        // Length of packet
        ByteBuffer buf = new ByteBuffer(4096, true);

        TSRequest tsRequest = new TSRequest("TSRequest");
        tsRequest.version.value = 2L;
        NegoItem negoItem = new NegoItem("NegoItem");
        negoItem.negoToken.value = authenticateMessage;

        tsRequest.negoTokens.tags = new Tag[] {negoItem};

        tsRequest.pubKeyAuth.value = messageSignatureAndEncryptedServerPublicKey;

        tsRequest.writeTag(buf);

        // Trim buffer to actual length of data written
        buf.trimAtCursor();

        pushDataToOTOut(buf);

        switchOff();
    }
View Full Code Here

        long dataLenLong = buf.readSignedIntLE();
        if (dataLenLong > 4 * 1024 * 1024)
            throw new RuntimeException("Clipboard packet is too long. Expected length: less than 4MiB. Actual length: " + dataLenLong + ".");
        int dataLen = (int)dataLenLong;

        ByteBuffer payload = buf.readBytes(dataLen);

        // Parse message flags and store them in the payload metadata
        if ((msgFlags & CB_RESPONSE_OK) == CB_RESPONSE_OK)
            payload.putMetadata("success", true);
        if ((msgFlags & CB_RESPONSE_FAIL) == CB_RESPONSE_FAIL)
            payload.putMetadata(SUCCESS, false);
        if ((msgFlags & CB_ASCII_NAMES) == CB_ASCII_NAMES)
            payload.putMetadata(ASCII_NAMES, true);

        // Push PDU to appropriate handler
        switch (msgType) {
        case CB_MONITOR_READY:
            pushDataToPad("monitor_ready", payload);
View Full Code Here

        TSRequest request = new TSRequest("TSRequest");

        // Read request from buffer
        // System.out.println("Request BER tree before parsing: " + request);
        ByteBuffer toReadBuf = new ByteBuffer(packet);
        request.readTag(toReadBuf);
        // System.out.println("Request BER tree after parsing: " + request);

        // System.out.println("version value: " + request.version.value);
        // System.out.println("negoToken value: " + ((NegoItem)
        // request.negoTokens.tags[0]).negoToken.value);

        // Write request to buffer and compare with original
        ByteBuffer toWriteBuf = new ByteBuffer(packet.length + 100, true);
        request.writeTag(toWriteBuf);
        toWriteBuf.trimAtCursor();

        if (!toReadBuf.equals(toWriteBuf))
            throw new RuntimeException("Data written to buffer is not equal to data read from buffer. \nExpected: " + toReadBuf + "\nActual: " + toWriteBuf + ".");
    }
View Full Code Here

        // Parse TSRequest in BER format
        TSRequest request = new TSRequest("TSRequest");
        request.readTag(buf);

        ByteBuffer negoToken = ((NegoItem)request.negoTokens.tags[0]).negoToken.value;
        ntlmState.challengeMessage = negoToken.toByteArray(); // Store message for MIC calculation in AUTH message

        parseNtlmChallenge(negoToken);

        negoToken.unref();
        buf.unref();
        switchOff();
    }
View Full Code Here

TOP

Related Classes of streamer.ByteBuffer

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.