Project

General

Profile

Feature #9323

IO#writev

Added by Glass_saga (Masaki Matsushita) over 3 years ago. Updated 21 days ago.

Status:
Open
Priority:
Normal
Assignee:
-
Target version:
[ruby-core:59408]

Description

I propose addition of IO#writev.
It enables gather output from multiple buffers.
If writev(2) is not available, IO#writev uses Array#join to emulate atomic write.

patch.diff View (7.83 KB) Glass_saga (Masaki Matsushita), 12/30/2013 10:08 PM

History

#1 [ruby-core:60003] Updated by normalperson (Eric Wong) over 3 years ago

Unless we have use for it, I don't think rb_io_writev should be in
the C API, and even less reason for it to be public for extensions
in ruby/intern.h

Also, it'd probably be good to dedup the fptr->wbuf initialization
code in io_binwrite*.

Otherwise, I think this is fine.

#2 [ruby-core:81567] Updated by ioquatix (Samuel Williams) 21 days ago

I think this is a great idea. It avoids a ton of string issues - e.g. concatenating strings in Ruby before writing them out. It would be great if #write could take an array, and if possible, call writev.

Also available in: Atom PDF