instance method
Fiber::Scheduler#io_pwrite
io_pwrite(io, buffer, from, length, offset) → written length or -errno
scheduler.c
View on GitHub ↗
VALUE
rb_fiber_scheduler_io_pwrite(VALUE scheduler, VALUE io, rb_off_t from, VALUE buffer, size_t length, size_t offset)
{
if (!rb_respond_to(scheduler, id_io_pwrite)) {
return RUBY_Qundef;
}
VALUE arguments[] = {
scheduler, io, buffer, OFFT2NUM(from), SIZET2NUM(length), SIZET2NUM(offset)
};
if (rb_respond_to(scheduler, id_fiber_interrupt)) {
return rb_thread_io_blocking_operation(io, fiber_scheduler_io_pwrite, (VALUE)&arguments);
} else {
return fiber_scheduler_io_pwrite((VALUE)&arguments);
}
}
Invoked by IO#pwrite or IO::Buffer#pwrite to write length bytes to io at offset from into a specified buffer (see IO::Buffer) at the given offset.
This method is semantically the same as io_write, but it allows to specify the offset to write to and is often better for asynchronous IO on the same file.
The method should be considered experimental.