POE
view release on metacpan or search on metacpan
It provides a high level interface to select(), and a very high level
interface to TCP client and server socket operations. It does not fork.
Face is the start of a curses-based UI framework that can run alone
or use Serv as its main loop.
The code and a rough draft of the documentation are available from
<http://www.shadow.net/~troc/perlstuff.html>. If this code is useful
to anyone, I'd sure like to know.
Rocco
<troc@shadow.net>
On Tue, 15 Apr 1997 01:36:35 +0200, Gary Howland wrote:
>
>Select is fine. What we (the "event evangelists") want is a "level above"
>select. When we have a chunk of data to send to x streams, we don't want to
>have to call select, see which stream is ready for writing, work out how
>many bytes we can send, send those bytes, shorten our buffers by that amount
>of bytes, and loop back to select. We just want to send the data. And we
>want to do this without forking.
-------------------------------------------------------------------------------
Received: from sinistar.idle.com (sinistar.idle.com [198.109.160.36])
by anshar.shadow.net (8.7.3/8.7.3) with ESMTP id JAA04948
for <troc@shadow.net>; Fri, 7 Feb 1997 09:54:31 -0500 (EST)
Received: (from slist@localhost) by sinistar.idle.com (8.7.5/8.7.3)
id JAA12519; Fri, 7 Feb 1997 09:00:19 -0500 (EST)
Resent-Date: Fri, 7 Feb 1997 09:00:19 -0500 (EST)
Message-Id: <199702071400.JAA00339@anshar.shadow.net>
From: "Rocco Caputo" <troc@shadow.net>
To: "Felix Gallo" <fgallo@wellspring.us.dg.com>,
"perl5-porters@perl.org" <perl5-porters@perl.org>
Date: Fri, 07 Feb 97 08:54:31 -0400
Reply-To: "Rocco Caputo" <troc@shadow.net>
Priority: Normal
Subject: polytheistic perl references
Resent-Message-ID: <"1y3hHB.A.w5C.sTz-y"@sinistar>
Resent-From: perl5-porters@perl.org
X-Mailing-List: <perl5-porters@perl.org> archive/latest/136
X-Loop: perl5-porters@perl.org
Precedence: list
Resent-Sender: perl5-porters-request@perl.org
Content-Type: text
Content-Length: 1502
Status:
On Thu, 06 Feb 1997 12:52:56 +0000, Felix Gallo wrote:
>Felix's Perl-related Metaproblems:
>
>3. Perl references are monotheistic. One fancies that saying
>$x = \{ http://perl.com/myperlobject }; would do the right thing,
>but the established structure of Perl seems to make this difficult.
There are tied hash packages that implement object naming
and message passing between named objects within the same
process. The packages allow invocations like:
$msg{'desktop,paint'} = 1;
$msg{'name entry,value'} = 'J. K. Cohen';
$active_flag = $msg{'active checkbox,value'};
The packages also do broadcasting to subsets of the object
dictionary. Hash stores and fetches are sent to or taken
from all the objects that match the supplied name. So to
clear the value of all objects that have 'entry' in their
names:
$msg{'entry,value'} = '';
That clears 'name entry' and 'age entry' and 'salary entry'
and ....
Anyway, the names could be extended to work across sockets
in the presence of a standard select/event loop:
$gnats_queue = $msg{'//somewhere.com:4242/stickynote/gnat?count'};
print "gnat has $gnats_queue unread sticky notes.\n";
$message = 'hello, world!';
$msg{'//somewhere.org:4242/stickynote/merlyn?queue'} = $message;
Man pages for ObjDict::Names and ObjDict::Messages are
on-line at <http://www.nexi.com/troc>. The code is inside
a larger package, Serv+Face, at
<http://www.shadow.net/~troc/perlstuff.html>.
Just some ideas to ponder.
Rocco
<troc@shadow.net>
-------------------------------------------------------------------------------
This is a header from a program I was writing before I discovered Perl.
// =========================================================================
// UBERSYS.H
// UberSys definitions and classes.
// =========================================================================
#include <io.h>
#include <dir.h>
#include <dos.h>
#include <math.h>
#include <time.h>
#include <alloc.h>
#include <conio.h>
#include <ctype.h>
#include <fcntl.h>
#include <share.h>
#include <stdio.h>
#include <setjmp.h>
#include <stdarg.h>
#include <stddef.h>
#include <stdlib.h>
#include <string.h>
#include <values.h>
#include <fstream.h>
( run in 2.457 seconds using v1.01-cache-2.11-cpan-5837b0d9d2c )