package eio

  1. Overview
  2. Docs

Concurrent list operations.

These functions behave like the ones in the standard library's List module, except that multiple items can be processed concurrently.

They correspond to Lwt's Lwt_list.*_p operations. e.g. Lwt_list.iter_p becomes Fiber.List.iter. For the Lwt_list.*_s operations, just use the standard library function. e.g. Lwt_list.iter_s can be replaced by a plain List.iter.

val filter : ?max_fibers:int -> ('a -> bool) -> 'a list -> 'a list

filter f x is like List.filter f x except that the invocations of f are run concurrently in separate fibers.

  • parameter max_fibers

    Maximum number of fibers to run concurrently

val map : ?max_fibers:int -> ('a -> 'b) -> 'a list -> 'b list

map f x is like List.map f x except that the invocations of f are run concurrently in separate fibers.

  • parameter max_fibers

    Maximum number of fibers to run concurrently

val filter_map : ?max_fibers:int -> ('a -> 'b option) -> 'a list -> 'b list

filter_map f x is like List.filter_map f x except that the invocations of f are run concurrently in separate fibers.

  • parameter max_fibers

    Maximum number of fibers to run concurrently

val iter : ?max_fibers:int -> ('a -> unit) -> 'a list -> unit

iter f x is like List.iter f x except that the invocations of f are run concurrently in separate fibers.

  • parameter max_fibers

    Maximum number of fibers to run concurrently