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(SubmissionEntry entry)
  2. Uring putWith(ARGS args)
    struct Uring
    nothrow @nogc ref return
    putWith
    (
    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 ARGS

Optional arguments passed to the function

Return Value

Type: Uring

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

Meta