@Override
  public Future<String> putBlob(RestRequest restRequest, BlobProperties blobProperties, byte[] usermetadata,
      ReadableStreamChannel channel, PutBlobOptions options, Callback<String> callback,
      QuotaChargeCallback quotaChargeCallback) {
    FutureResult<String> futureResult = new FutureResult<>();
    if (!handlePrechecks(futureResult, callback)) {
      return futureResult;
    }
    Callback<String> wrappedCallback =
        restRequest != null ? createIdConverterCallbackForPut(restRequest, blobProperties, futureResult, callback)
            : callback;
    PostData postData =
        new PostData(blobProperties, usermetadata, channel, null, options, wrappedCallback, futureResult);
    operationPool.submit(new InMemoryBlobPoster(postData, blobs, notificationSystem, clusterMap,
        CommonTestUtils.getCurrentBlobIdVersion()));
    return futureResult;
  }
Set the lifeVersion of this blob.
@param lifeVersion The lifeVersion to set.
ambry-test-utils/src/main/java/com/github/ambry/router/InMemoryRouter.java