Search in sources :

Example 1 with Binary

use of javax.websocket.Decoder.Binary in project jetty.project by eclipse.

the class BinaryWholeMessage method messageComplete.

@SuppressWarnings("unchecked")
@Override
public void messageComplete() {
    super.finished = true;
    byte[] data = out.toByteArray();
    DecoderFactory.Wrapper decoder = msgWrapper.getDecoder();
    Decoder.Binary<Object> binaryDecoder = (Binary<Object>) decoder.getDecoder();
    try {
        Object obj = binaryDecoder.decode(BufferUtil.toBuffer(data));
        wholeHandler.onMessage(obj);
    } catch (DecodeException e) {
        throw new WebSocketException("Unable to decode binary data", e);
    }
}
Also used : WebSocketException(org.eclipse.jetty.websocket.api.WebSocketException) DecoderFactory(org.eclipse.jetty.websocket.jsr356.DecoderFactory) Binary(javax.websocket.Decoder.Binary) Decoder(javax.websocket.Decoder) DecodeException(javax.websocket.DecodeException)

Example 2 with Binary

use of javax.websocket.Decoder.Binary in project tomcat70 by apache.

the class PojoMessageHandlerWholeBinary method decode.

@Override
protected Object decode(ByteBuffer message) throws DecodeException {
    for (Decoder decoder : decoders) {
        if (decoder instanceof Binary) {
            if (((Binary<?>) decoder).willDecode(message)) {
                return ((Binary<?>) decoder).decode(message);
            }
        } else {
            byte[] array = new byte[message.limit() - message.position()];
            message.get(array);
            ByteArrayInputStream bais = new ByteArrayInputStream(array);
            try {
                return ((BinaryStream<?>) decoder).decode(bais);
            } catch (IOException ioe) {
                throw new DecodeException(message, sm.getString("pojoMessageHandlerWhole.decodeIoFail"), ioe);
            }
        }
    }
    return null;
}
Also used : ByteArrayInputStream(java.io.ByteArrayInputStream) BinaryStream(javax.websocket.Decoder.BinaryStream) Binary(javax.websocket.Decoder.Binary) IOException(java.io.IOException) Decoder(javax.websocket.Decoder) DecodeException(javax.websocket.DecodeException)

Aggregations

DecodeException (javax.websocket.DecodeException)2 Decoder (javax.websocket.Decoder)2 Binary (javax.websocket.Decoder.Binary)2 ByteArrayInputStream (java.io.ByteArrayInputStream)1 IOException (java.io.IOException)1 BinaryStream (javax.websocket.Decoder.BinaryStream)1 WebSocketException (org.eclipse.jetty.websocket.api.WebSocketException)1 DecoderFactory (org.eclipse.jetty.websocket.jsr356.DecoderFactory)1