public ListenableFuture put()

in simplestore/src/main/java/com/uber/simplestore/impl/SimpleStoreImpl.java [131:154]


  public ListenableFuture<byte[]> put(String key, @Nullable byte[] value) {
    requireOpen();
    return Futures.submitAsync(
        () -> {
          Exception isDead = isDead();
          if (isDead != null) {
            return Futures.immediateFailedFuture(isDead);
          }
          if (value == null || value.length == 0) {
            cache.put(key, EMPTY_BYTES);
            deleteFile(key);
            return Futures.immediateFuture(EMPTY_BYTES);
          } else {
            cache.put(key, value);
            try {
              writeFile(key, value);
            } catch (IOException e) {
              return Futures.immediateFailedFuture(e);
            }
            return Futures.immediateFuture(value);
          }
        },
        orderedIoExecutor);
  }