phpman > man > POE::Driver::SysRW

Markdown | JSON | MCP    

NAME
    POE::Driver::SysRW - buffered, non-blocking I/O using sysread and syswrite

SYNOPSIS
    "SYNOPSIS" in POE::Driver illustrates how the interface works. This module is merely one
    implementation.

DESCRIPTION
    This driver implements POE::Driver using sysread and syswrite.

PUBLIC METHODS
    POE::Driver::SysRW introduces some additional features not covered in the base interface.

  new [BlockSize => OCTETS]
    new() creates a new buffered I/O driver that uses sysread() to read data from a handle and
    syswrite() to flush data to that handle. The constructor accepts one optional named parameter,
    "BlockSize", which indicates the maximum number of OCTETS that will be read at one time.

    "BlockSize" is 64 kilobytes (65536 octets) by default. Higher values may improve performance in
    streaming applications, but the trade-off is a lower event granularity and increased resident
    memory usage.

    Lower "BlockSize" values reduce memory consumption somewhat with corresponding throughput
    penalties.

      my $driver = POE::Driver::SysRW->new;

      my $driver = POE::Driver::SysRW->new( BlockSize => $block_size );

    Drivers are commonly instantiated within POE::Wheel constructor calls:

      $_[HEAP]{wheel} = POE::Wheel::ReadWrite->new(
        InputHandle => \*STDIN,
        OutputHandle => \*STDOUT,
        Driver => POE::Driver::SysRW->new(),
        Filter => POE::Filter::Line->new(),
      );

    Applications almost always use POE::Driver::SysRW, so POE::Wheel objects almost always will
    create their own if no Driver is specified.

  All Other Methods
    POE::Driver::SysRW documents the abstract interface documented in POE::Driver. Please see
    POE::Driver for more details about the following methods:

    flush
    get
    get_out_messages_buffered
    put

SEE ALSO
    POE::Driver, POE::Wheel.

    Also see the SEE ALSO section of POE, which contains a brief roadmap of POE's documentation.

AUTHORS & COPYRIGHTS
    Please see POE for more information about authors and contributors.

Generated by phpman v3.7.12 Author: Che Dong Under GNU General Public License
2026-06-13 13:09 @216.73.216.28
CrawledBy Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)
Valid XHTML 1.0 TransitionalValid CSS!