sig
  type t
  external make : ThreadPoolExecutor.t -> ExecutorCompletionService.t
    = "ocamljava_executorcompletionservice_make"
  external poll : ExecutorCompletionService.t -> 'Future.t option
    = "ocamljava_executorcompletionservice_poll"
  external poll_time :
    ExecutorCompletionService.t -> int64 -> TimeUnit.t -> 'Future.t option
    = "ocamljava_executorcompletionservice_poll_time"
  external submit :
    ExecutorCompletionService.t -> ('-> 'b) -> '-> 'Future.t
    = "ocamljava_executorcompletionservice_submit"
  external take : ExecutorCompletionService.t -> 'Future.t
    = "ocamljava_executorcompletionservice_take"
end