AnyEvent

 view release on metacpan or  search on metacpan

README  view on Meta::CPAN

        should have a look at "PERL_ANYEVENT_LOG", which allows much more
        complex specifications.

        When set to 0 ("off"), then no messages whatsoever will be logged
        with everything else at defaults.

        When set to 5 or higher ("warn"), AnyEvent warns about unexpected
        conditions, such as not being able to load the event model specified
        by "PERL_ANYEVENT_MODEL", or a guard callback throwing an exception
        - this is the minimum recommended level for use during development.

        When set to 7 or higher (info), AnyEvent reports which event model
        it chooses.

        When set to 8 or higher (debug), then AnyEvent will report extra
        information on which optional modules it loads and how it implements
        certain features.

    "PERL_ANYEVENT_LOG"
        Accepts rather complex logging specifications. For example, you
        could log all "debug" messages of some module to stderr, warnings
        and above to stderr, and errors and above to syslog, with:

           PERL_ANYEVENT_LOG=Some::Module=debug,+log:filter=warn,+%syslog:%syslog=error,syslog

        For the rather extensive details, see AnyEvent::Log.

        This variable is evaluated when AnyEvent (or AnyEvent::Log) is
        loaded, so will take effect even before AnyEvent has initialised
        itself.

        Note that specifying this environment variable causes the
        AnyEvent::Log module to be loaded, while "PERL_ANYEVENT_VERBOSE"
        does not, so only using the latter saves a few hundred kB of memory
        unless a module explicitly needs the extra features of
        AnyEvent::Log.

    "PERL_ANYEVENT_STRICT"
        AnyEvent does not do much argument checking by default, as thorough
        argument checking is very costly. Setting this variable to a true
        value will cause AnyEvent to load "AnyEvent::Strict" and then to
        thoroughly check the arguments passed to most method calls. If it
        finds any problems, it will croak.

        In other words, enables "strict" mode.

        Unlike "use strict" (or its modern cousin, "use common::sense", it
        is definitely recommended to keep it off in production. Keeping
        "PERL_ANYEVENT_STRICT=1" in your environment while developing
        programs can be very useful, however.

    "PERL_ANYEVENT_DEBUG_SHELL"
        If this env variable is nonempty, then its contents will be
        interpreted by "AnyEvent::Socket::parse_hostport" and
        "AnyEvent::Debug::shell" (after replacing every occurance of $$ by
        the process pid). The shell object is saved in
        $AnyEvent::Debug::SHELL.

        This happens when the first watcher is created.

        For example, to bind a debug shell on a unix domain socket in
        /tmp/debug<pid>.sock, you could use this:

           PERL_ANYEVENT_DEBUG_SHELL=/tmp/debug\$\$.sock perlprog
           # connect with e.g.: socat readline /tmp/debug123.sock

        Or to bind to tcp port 4545 on localhost:

           PERL_ANYEVENT_DEBUG_SHELL=127.0.0.1:4545 perlprog
           # connect with e.g.: telnet localhost 4545

        Note that creating sockets in /tmp or on localhost is very unsafe on
        multiuser systems.

    "PERL_ANYEVENT_DEBUG_WRAP"
        Can be set to 0, 1 or 2 and enables wrapping of all watchers for
        debugging purposes. See "AnyEvent::Debug::wrap" for details.

    "PERL_ANYEVENT_MODEL"
        This can be used to specify the event model to be used by AnyEvent,
        before auto detection and -probing kicks in.

        It normally is a string consisting entirely of ASCII letters (e.g.
        "EV" or "IOAsync"). The string "AnyEvent::Impl::" gets prepended and
        the resulting module name is loaded and - if the load was successful
        - used as event model backend. If it fails to load then AnyEvent
        will proceed with auto detection and -probing.

        If the string ends with "::" instead (e.g. "AnyEvent::Impl::EV::")
        then nothing gets prepended and the module name is used as-is (hint:
        "::" at the end of a string designates a module name and quotes it
        appropriately).

        For example, to force the pure perl model (AnyEvent::Loop::Perl) you
        could start your program like this:

           PERL_ANYEVENT_MODEL=Perl perl ...

    "PERL_ANYEVENT_IO_MODEL"
        The current file I/O model - see AnyEvent::IO for more info.

        At the moment, only "Perl" (small, pure-perl, synchronous) and
        "IOAIO" (truly asynchronous) are supported. The default is "IOAIO"
        if AnyEvent::AIO can be loaded, otherwise it is "Perl".

    "PERL_ANYEVENT_PROTOCOLS"
        Used by both AnyEvent::DNS and AnyEvent::Socket to determine
        preferences for IPv4 or IPv6. The default is unspecified (and might
        change, or be the result of auto probing).

        Must be set to a comma-separated list of protocols or address
        families, current supported: "ipv4" and "ipv6". Only protocols
        mentioned will be used, and preference will be given to protocols
        mentioned earlier in the list.

        This variable can effectively be used for denial-of-service attacks
        against local programs (e.g. when setuid), although the impact is
        likely small, as the program has to handle connection and other
        failures anyways.

        Examples: "PERL_ANYEVENT_PROTOCOLS=ipv4,ipv6" - prefer IPv4 over



( run in 0.635 second using v1.01-cache-2.11-cpan-39bf76dae61 )