vibe.d beta banner
get vibe.d
0.9.4

Asynchronous I/O that doesn’t get in your way, written in D

Function runTask

Runs a new asynchronous task.

Task runTask(ARGS...) (
  @safe void delegate(ARGS) task,
  auto ref ARGS args
);

Task runTask(ARGS...) (
  @system void delegate(ARGS) task,
  auto ref ARGS args
) @system;

Task runTask(CALLABLE, ARGS...) (
  CALLABLE task,
  auto ref ARGS args
)
if (!is(CALLABLE : void delegate(ARGS)) && is(typeof(CALLABLE.init(ARGS.init))));

Task runTask(ARGS...) (
  TaskSettings settings,
  @safe void delegate(ARGS) task,
  auto ref ARGS args
);

Task runTask(ARGS...) (
  TaskSettings settings,
  @system void delegate(ARGS) task,
  auto ref ARGS args
) @system;

Task runTask(CALLABLE, ARGS...) (
  TaskSettings settings,
  CALLABLE task,
  auto ref ARGS args
)
if (!is(CALLABLE : void delegate(ARGS)) && is(typeof(CALLABLE.init(ARGS.init))));

task will be called synchronously from within the vibeRunTask call. It will continue to run until vibeYield() or any of the I/O or wait functions is called.

Note that the maximum size of all args must not exceed maxTaskParameterSize.

Authors

Sönke Ludwig

Copyright

© 2012-2020 Sönke Ludwig

License

Subject to the terms of the MIT license, as written in the included LICENSE.txt file.