예제 #1
0
  private void reportStatus(String message, Status status) {
    if (!status.isSuccess()) {
      logger.log(Level.WARNING, message + ": " + status.getMessage());

      // for developers
      String dump = status.getStackDump();
      if (dump != null && !dump.isEmpty())
        logger.log(Level.FINER, message + ": " + status.getMessage() + ", cause:\n" + dump);
    }
  }
예제 #2
0
  /* (non-Javadoc)
   * @see org.epics.pvaccess.client.ChannelPutRequester#putDone(org.epics.pvdata.pv.Status)
   */
  @Override
  public void putDone(Status status) {
    reportStatus("Failed to put value", status);

    WriteRequest writeRequest;
    synchronized (writeRequests) {
      writeRequest = writeRequests.poll();
    }

    if (writeRequest != null) {
      if (status.isSuccess()) {
        writeRequest.getCallback().channelWritten(null);
      } else {
        writeRequest.getCallback().channelWritten(new Exception(status.getMessage()));
      }

      doNextWrite();
    }
  }