Examples of StreamResultMessage


Examples of ch.ethz.iks.r_osgi.messages.StreamResultMessage

   */
  public int readStream(final short streamID) throws IOException {
    final StreamRequestMessage requestMsg = new StreamRequestMessage();
    requestMsg.setOp(StreamRequestMessage.READ);
    requestMsg.setStreamID(streamID);
    final StreamResultMessage resultMsg = doStreamOp(requestMsg);
    return resultMsg.getResult();
  }
View Full Code Here

Examples of ch.ethz.iks.r_osgi.messages.StreamResultMessage

    }
    final StreamRequestMessage requestMsg = new StreamRequestMessage();
    requestMsg.setOp(StreamRequestMessage.READ_ARRAY);
    requestMsg.setStreamID(streamID);
    requestMsg.setLenOrVal(len);
    final StreamResultMessage resultMsg = doStreamOp(requestMsg);
    final int length = resultMsg.getLen();
    // check the length first, could be -1 indicating EOF
    if (length > 0) {
      final byte[] readdata = resultMsg.getData();
      // copy result to byte array at correct offset
      System.arraycopy(readdata, 0, b, off, length);
    }
    return length;
  }
View Full Code Here

Examples of ch.ethz.iks.r_osgi.messages.StreamResultMessage

        }
        // invoke operation on stream
        switch (reqMsg.getOp()) {
        case StreamRequestMessage.READ: {
          final int result = ((InputStream) stream).read();
          final StreamResultMessage m = new StreamResultMessage();
          m.setXID(reqMsg.getXID());
          m.setResult((short) result);
          return m;
        }
        case StreamRequestMessage.READ_ARRAY: {
          final byte[] b = new byte[reqMsg.getLenOrVal()];
          final int len = ((InputStream) stream).read(b, 0, reqMsg
              .getLenOrVal());
          final StreamResultMessage m = new StreamResultMessage();
          m.setXID(reqMsg.getXID());
          m.setResult(StreamResultMessage.RESULT_ARRAY);
          m.setLen(len);
          if (len > 0) {
            m.setData(b);
          }
          return m;
        }
        case StreamRequestMessage.WRITE: {
          ((OutputStream) stream).write(reqMsg.getLenOrVal());
          final StreamResultMessage m = new StreamResultMessage();
          m.setXID(reqMsg.getXID());
          m.setResult(StreamResultMessage.RESULT_WRITE_OK);
          return m;
        }
        case StreamRequestMessage.WRITE_ARRAY: {
          ((OutputStream) stream).write(reqMsg.getData());
          final StreamResultMessage m = new StreamResultMessage();
          m.setXID(reqMsg.getXID());
          m.setResult(StreamResultMessage.RESULT_WRITE_OK);
          return m;
        }
        default:
          throw new RemoteOSGiException(
              "Unimplemented op code for stream request " + msg); //$NON-NLS-1$
        }
      } catch (final IOException e) {
        final StreamResultMessage m = new StreamResultMessage();
        m.setXID(reqMsg.getXID());
        m.setResult(StreamResultMessage.RESULT_EXCEPTION);
        m.setException(e);
        return m;
      }
    }
    case RemoteOSGiMessage.REQUEST_BUNDLE:
      final RequestBundleMessage reqB = (RequestBundleMessage) msg;
View Full Code Here

Examples of ch.ethz.iks.r_osgi.messages.StreamResultMessage

   */
  private StreamResultMessage doStreamOp(final StreamRequestMessage requestMsg)
      throws IOException {
    try {
      // send the message and get a StreamResultMessage in return
      final StreamResultMessage result = (StreamResultMessage) sendAndWait(requestMsg);
      if (result.causedException()) {
        throw result.getException();
      }
      return result;
    } catch (final RemoteOSGiException e) {
      throw new RemoteOSGiException("Invocation of operation " //$NON-NLS-1$
          + requestMsg.getOp() + " on stream " //$NON-NLS-1$
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.