Uring.putWith

Adds new entry to the SubmissionQueue.

Note that this just adds entry to the queue and doesn't advance the tail marker kernel sees. For that finishSq() is needed to be called next.

Also note that to actually enter new entries to kernel, it's needed to call submit().

  1. Uring put(auto ref SubmissionEntry entry)
  2. Uring putWith(auto ref ARGS args)
    struct Uring
    nothrow @nogc ref
    putWith
    return
    (
    alias FN
    ARGS...
    )
    (
    auto ref ARGS args
    )

Parameters

FN

Function to fill next entry in queue by ref (should be faster). It is expected to be in a form of void function(ARGS)(ref SubmissionEntry, auto ref ARGS). Note that in this case queue entry is cleaned first before function is called.

args
Type: ARGS

Optional arguments passed to the function

Return Value

Type: Uring

reference to Uring structure so it's possible to chain multiple commands.

Meta