Beefy Boxes and Bandwidth Generously Provided by pair Networks
go ahead... be a heretic

Comment on

( #3333=superdoc: print w/replies, xml ) Need Help??

I guess, the module you create is already called from some event-driven system. In other words, your module is a "callback". The "callback" can't run it's own event distribution. You can register one more "callback" with the main system and then simply return control to the caller. The main system is then responsible for activating your new callback at appropriate time.

The AnyEvent module is event-distribution system. When you call $w->recv you activate this system, which blocks the main one, which in turn might trigger some time-out for killing your callback. Figure out how to add timers to the main framework. I don't know Plack and don't have any desire to study it, so I can't help you with this, sorry.

At the core, event-driven programming is very simple. The main part is manager looping over all possible events. When event is encountered, the manager checks if there are any "callbacks" waiting for this event. Those callbacks are activated and the looping continues. The callbacks must finish their work quickly and if necessary, they can register more callbacks for different events.

Everything else, is specific ways, how different managers keep track of callbacks and events.

In reply to Re^3: PSGI, Plack, Twiggy, AnyEvent and SockJS... I need help by andal
in thread PSGI, Plack, Twiggy, AnyEvent and SockJS... I need help by xtpu2

Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post; it's "PerlMonks-approved HTML":

  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.
  • Log In?

    What's my password?
    Create A New User
    and all is quiet...

    How do I use this? | Other CB clients
    Other Users?
    Others chilling in the Monastery: (5)
    As of 2017-12-15 09:00 GMT
    Find Nodes?
      Voting Booth?
      What programming language do you hate the most?

      Results (423 votes). Check out past polls.