[lsi] Fixed running of write requests

Change-Id: I181b9d61617d7396db8a3da6733802e94feeb199
Signed-off-by: akosyakov <anton.kosyakov@typefox.io>
This commit is contained in:
akosyakov 2016-05-30 12:06:39 +02:00
parent 51a691762c
commit 3982fe311b

View file

@ -46,7 +46,7 @@ class RequestManager {
def CompletableFuture<Void> runWrite((CancelIndicator)=>void writeRequest, CancelIndicator cancelIndicator) {
cancelIndicators.forEach[cancel]
return CompletableFuture.runAsync([
run([writeRequest], MAX_PERMITS, cancelIndicator)
writeRequest.withVoidAsReturnType.run(MAX_PERMITS, cancelIndicator)
], writeExecutorService)
}
@ -56,7 +56,7 @@ class RequestManager {
def <V> CompletableFuture<V> runRead((CancelIndicator)=>V readRequest, CancelIndicator cancelIndicator) {
return CompletableFuture.supplyAsync([
run(readRequest, 1, cancelIndicator)
readRequest.run(1, cancelIndicator)
], readExecutorService)
}
@ -79,4 +79,11 @@ class RequestManager {
}
}
protected def (CancelIndicator)=>Void withVoidAsReturnType((CancelIndicator)=>void request) {
return [ cancelIindicator |
request.apply(cancelIindicator)
return null
]
}
}