Download Shareware and Freeware Software for Windows, Linux, Macintosh, PDA

line Home  |  About Us  |  Link To Us  |  FAQ  |  Contact

Serving Software Downloads in 956 Categories, Downloaded 50.323.883 Times

POE::Component::Client::TCPMulti 0.0521

  Date Added: May 21, 2010  |  Visits: 801

POE::Component::Client::TCPMulti

Report Broken Link
Printer Friendly Version


Product Homepage
Download (90 downloads)



POE::Component::Client::TCPMulti is a high performance client TCP library. SYNOPSIS # Short Usage POE::Component::Client::TCPMulti->create ( InputEvent => sub { printf "%s:%d: %s", $_[CHEAP]->ADDR, $_[CHEAP]->PORT, $_[ARG0]; }, SuccessEvent => sub { printf "%s:%d: Connection Recieved", $_[CHEAP]->ADDR, $_[CHEAP]->PORT; $_[KERNEL]->yield( send => "" ); }, inline_states => { _start => sub { $_[KERNEL]->yield( connect => "127.0.0.1", $_ ) for 1..1024; }, }, InputTimeout => 15, ); # Longer Usage POE::Component::Client::TCPMulti->create ( InputEvent => sub { $_[KERNEL]->yield(send => $_[CHEAP]->ID, "Some Stuff"); }, Initialize => sub { $_[CHEAP]->input_filter ( "POE::Filter::Block", BlockSize => 4); }, ErrorEvent => &ErrorHandle, Disconnected => &ErrorHandle, TimeoutEvent => &TimeoutHandle, FailureEvent => &FailureHandle, SuccessEvent => sub { $_[CHEAP]->filter("POE::Filter::Line"); # Set timeout for this connection to 350 seconds. $_[CHEAP]->timeout(350); # This state is part of the component interface $_[KERNEL]->yield(send => $_[CHEAP]->ID, "Some Data"); }, Domain => AF_INET, # Optional Alias => "MySession", # Optional InputTimeout => 360, # Seconds, Optional ConnectTimeout => 30, # Seconds, Optional Timeout => 30, # Seconds, Optional Filter => "POE::Filter::Something", # Optional inline_states => { _start => sub { $_[KERNEL]->yield(connect => q(127.0.0.1), 25); # _start isnt needed if you use an alias. }, }, args => $Session_Args, # Optional object_states => $Object_States, # Optional package_states => $Package_States, # Optional ); # This should be done from within a state in the TCPMulti # Session. Its purpose is to allow prepropigation of the # connection heap as well as connection specific timeout # Settings. POE::Component::Client::TCPMulti->connect ( RemoteAddress => "127.0.0.1", RemotePort => 25, BindAddress => "127.0.0.1", # Optional BindPort => 0, # Optional ConnectTimeout => 50, # Connect only. InputTimeout => 300, # Input only. Heap => %Propigation ); POE::Component::Client::TCPMulti is a very lightweight, highly optimized component designed for large numbers of simultanious outgoing connections. The major advantage to this module over POE::Component::Client::TCP is that it runs in a single session, reguardless of the number of outgoing simultanious connections. I have found this in fact to use considerable less overhead than POE::Component::Client::TCP in high traffic. The disadvantage lies mearly in the API complexity over POE::Component::Client::TCP. It is in fact due to this added API complexity that I decided to create a seperate module, rather than altering POE::Component::Client::TCP [ or coaxing Rocco to let me ]. POE::Component::Client::TCP is a great module and this is not designed to completely replace it. It is however designed as a solution for extremely high traffic situations when the overhead of an individual session for each outgoing connection is not appropriate for the added simplicity in the API. Especially considering that this API is not really *that* much more complex..

Requirements: No special requirements
Platforms: Linux
Keyword: Api Cheap Connection High Performance Kernel Libraries Optional Poe Poecomponentclienttcpmulti Programming States Sub Tcpmulti Yield
Users rating: 0/10

License: Freeware Size: 23.55 KB
USER REVIEWS
More Reviews or Write Review


POE::COMPONENT::CLIENT::TCPMULTI RELATED
Libraries  -  Star Asterisk API 1.00
Star Asterisk API is a high performance API that connects to the manager interface of Asterisk or to AstManProxy. Star Asterisk API is easy to use, object-oriented, and easy to extend to suit your particular requirements.. office outlook star...
20.48 KB  
Development Editors  -  High-performance Embedded Workshop 4.09.00
High-performance Embedded Workshop, a powerful yet easy to use tool suite, features an industry standard user interface and is designed using a modular approach seamlessly incorporating device family-specific C/C++ compilers and the debugger...
 
Utilities  -  High Performance Linpack 1.0a
HPL is a software package that solves a (random) dense linear system in double precision (64 bits) arithmetic on distributed-memory computers. It can thus be regarded as a portable as well as freely available implementation of the High Performance...
512 KB  
Libraries  -  Torque Network Library 1.5.0
The Torque Network Library project is a robust, secure, and easy-to-use cross-platform C++ networking API designed for high performance simulations and games. It features a UDP- based connection architecture with DoS prevention functionality,...
2.2 MB  
Libraries  -  GuiLoader 2.10.0
GuiLoader is a high-performance and compact GuiXml loader library. This library allows GTK+ applications to create GUI widgets and objects at run-time from GuiXml resource files. GuiLoader is written in C language as a GObject subclass and has a...
256 KB  
Modules  -  High-performance javascript callback handler 6.x-2.x-de
javascript callback handler is an interim solution for high-performance server requests including (but not limited to) AHAH, AJAX, JSON, XML, etc.Note that this module does nothing on itself, only install it if another module leverages its...
10 KB  
Programming  -  Torque Network Library 1.5.0
Torque Network Library is a robust, secure, easy to use cross-platform C++ networking API designed for high performance simulations and games. The network architecture in TNL under the hood of some of the best internet multiplayer...
2.36 MB  
Telephone Utilities  -  PJSIP and PJMEDIA 0.7.0
PJSIP and PJMEDIA is the Open Source, high performance, small footprint SIP and media stack written in C language. It has many SIP and media features such as a layered API, dialog usages, high level invite session abstraction, an event...
348.16 KB  
Utilities  -  ipt_ACCOUNT 1.10
ipt_ACCOUNT is a high performance local network accounting system written for the Linux netfilter/iptables system. It has just two parameters: addr is the subnet which is accounted for tname is the table name where the information is stored...
20.48 KB  
Network & Internet  -  PyWork 0.4.8
PyWork is a high performance Python Web framework. The author has been developing web applications for years. In this journey several tools and well known languages where used before meeting Python. I am not going to explain all the great things...
266.24 KB  
NEW DOWNLOADS IN PROGRAMMING, LIBRARIES
Programming  -  Cedalion for Linux 0.2.6
Cedalion is a programming language that allows its users to add new abstractions and define (and use) internal DSLs. Its innovation is in the fact that it uses projectional editing to allow the new abstractions to have no syntactic limitations.
471.04 KB  
Programming  -  Math::GMPf 0.29
Math::GMPf - perl interface to the GMP library's floating point (mpf) functions.
30.72 KB  
Programming  -  Net::Wire10 1.08
Net::Wire10 is a Pure Perl connector that talks to Sphinx, MySQL and Drizzle servers. Net::Wire10 implements the low-level network protocol, alias the MySQL wire protocol version 10, necessary for talking to one of the aforementioned...
30.72 KB  
Programming  -  logilab-common 0.56.2
a bunch of modules providing low level functionnalities shared among some python projects devel Please note that some of the modules have some extra dependencies. For instance, logilab.common.db will require a db-api 2.0 compliant...
174.08 KB  
Programming  -  OpenSSL for linux 1.0.0a
The OpenSSL Project is a collaborative effort to develop a robust, commercial-grade, full-featured, and Open Source toolkit implementing the Secure Sockets Layer (SSL v2/v3) and Transport Layer Security (TLS v1) protocols as well as a...
3.83 MB  
Libraries  -  wolfSSL 4.0.0
The wolfSSL embedded SSL/TLS library is a lightweight SSL library written in ANSI standard C and targeted for embedded and RTOS environments - primarily because of its small size, speed, and feature set. It is commonly used in standard operating...
3.88 MB  
Libraries  -  EuGTK 4.8.9
Makes it easy to develop good- looking, fast, cross-platform programs that run on Linux, OS X, and Windows. Euphoria is a very fast interpreted/compiled language with straight-forward syntax. EuGTK allows programming in a clean, object-oriented...
10.68 MB  
Libraries  -  Linux User Group Library Manager 1.0
The LUG Library Manager is a project to help Linux User Groups start their own library. A LUG library is helpful to the community at large because it increases access to information, and gives everyone the opportunity to become more knowledgeable.
5.35 KB  
Libraries  -  Module::MakefilePL::Parse 0.12
Module::MakefilePL::Parse is a Perl module to parse required modules from Makefile.PL. SYNOPSIS use Module::MakefilePL::Parse; open $fh, Makefile.PL; $parser = Module::MakefilePL::Parse->new( join("", ) ); $info = $parser->required;...
8.19 KB  
Libraries  -  sqlpp 0.06
sqlpp Perl package is a SQL preprocessor. sqlpp is a conventional cpp-alike preprocessor taught to understand SQL ( PgSQL, in particular) syntax specificities. In addition to the standard #define/#ifdef/#else/#endif cohort, provides also...
10.24 KB