aboutsummaryrefslogtreecommitdiffstats
path: root/scheduler.c
diff options
context:
space:
mode:
authorVictor Shepelev <zverok.offline@gmail.com>2022-12-24 00:48:58 +0200
committerGitHub <noreply@github.com>2022-12-24 11:48:58 +1300
commitc3c116f6a6b92d0224b35e7423959a7ab39ddc6b (patch)
treeca2dc80b919a87835a6abdb1f1630d9c3f0ff7a7 /scheduler.c
parent11ad9a42d76ba785b2ec93f327469ead9b810ef4 (diff)
downloadruby-c3c116f6a6b92d0224b35e7423959a7ab39ddc6b.tar.gz
[DOC] Document new methods of IO::Buffer and Fiber::Scheduler (#7016)
Co-authored-by: Samuel Williams <samuel.williams@oriontransfer.co.nz>
Diffstat (limited to 'scheduler.c')
-rw-r--r--scheduler.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/scheduler.c b/scheduler.c
index 9f28ae0eb6..fb84e6b4dd 100644
--- a/scheduler.c
+++ b/scheduler.c
@@ -118,6 +118,9 @@ Init_Fiber_Scheduler(void)
rb_define_method(rb_cFiberScheduler, "io_wait", rb_fiber_scheduler_io_wait, 3);
rb_define_method(rb_cFiberScheduler, "io_read", rb_fiber_scheduler_io_read, 4);
rb_define_method(rb_cFiberScheduler, "io_write", rb_fiber_scheduler_io_write, 4);
+ rb_define_method(rb_cFiberScheduler, "io_pread", rb_fiber_scheduler_io_pread, 5);
+ rb_define_method(rb_cFiberScheduler, "io_pwrite", rb_fiber_scheduler_io_pwrite, 5);
+ rb_define_method(rb_cFiberScheduler, "io_select", rb_fiber_scheduler_io_select, 4);
rb_define_method(rb_cFiberScheduler, "kernel_sleep", rb_fiber_scheduler_kernel_sleep, 1);
rb_define_method(rb_cFiberScheduler, "address_resolve", rb_fiber_scheduler_address_resolve, 1);
rb_define_method(rb_cFiberScheduler, "timeout_after", rb_fiber_scheduler_timeout_after, 3);
@@ -490,6 +493,14 @@ rb_fiber_scheduler_io_read(VALUE scheduler, VALUE io, VALUE buffer, size_t lengt
return rb_check_funcall(scheduler, id_io_read, 4, arguments);
}
+
+/*
+ * Document-method: Fiber::Scheduler#io_read
+ * call-seq: io_pread(io, buffer, from, length, offset) -> read length or -errno
+ *
+ * Invoked by IO::Buffer#pread. See that method for description of arguments.
+ *
+ */
VALUE
rb_fiber_scheduler_io_pread(VALUE scheduler, VALUE io, rb_off_t from, VALUE buffer, size_t length, size_t offset)
{
@@ -537,6 +548,13 @@ rb_fiber_scheduler_io_write(VALUE scheduler, VALUE io, VALUE buffer, size_t leng
return rb_check_funcall(scheduler, id_io_write, 4, arguments);
}
+/*
+ * Document-method: Fiber::Scheduler#io_pwrite
+ * call-seq: io_pwrite(io, buffer, from, length, offset) -> written length or -errno
+ *
+ * Invoked by IO::Buffer#pwrite. See that method for description of arguments.
+ *
+ */
VALUE
rb_fiber_scheduler_io_pwrite(VALUE scheduler, VALUE io, rb_off_t from, VALUE buffer, size_t length, size_t offset)
{