On Mar 6, 2006, at 4:06, Nicholas Clark wrote:

On Fri, Mar 03, 2006 at 11:27:05AM -0800, Allison Randal wrote:

  =head2 Network I/O Opcodes


Functionality wise, the following are missing:

  shutdown

Added.

  getpeername/getsockname

  getsockopt/setsockopt

These seem rare, and intimately associated with the I/O object (they're just retrieving and setting attributes), enough to be left as methods.

C<socketpair> isn't listed, but I'd assume that that is more a class method
called on the class representing Unix Domain sockets.

Makes sense as a method.

Would it work to have classes representing each address format, each
providing a packsockaddr method?

I think it makes more sense to have a single opcode that returns the appropriate kind of address object depending on the format of the arguments you pass it. (Though internally it will rely on whatever the chosen class uses to set its address information.) Though, a single class that's smart enough to store different formats of addresses may be better.

There's no direct access to fnctl or ioctl given. Specifically it would be useful to have a way to set handles non-blocking (and have the entire IO system cope with synchronous-but-non-blocking IO, even if async IO is more
powerful still)

This is currently pioctl, but may be replaced by methods on the ParrotIO PMCs.

Allison

Reply via email to