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

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

Serving Software Downloads in 976 Categories, Downloaded 29.656.194 Times

POE::Component::Client::TCPMulti 0.0521

  Date Added: May 21, 2010  |  Visits: 598

POE::Component::Client::TCPMulti

Report Broken Link
Printer Friendly Version


Product Homepage
Download (70 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  
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  
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...
 
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  
Libraries  -  OpenSymphony Cache 2.3
OSCache is a high performance J2EE caching solution that can cache portions of JSP pages, entire HTTP responses (including dynamically generated images), and arbitrary Java objects. OpenSymphony Cache can provide your J2EE application with huge...
2.8 MB  
Database Tools  -  Berkeley DB Java Edition 3.1.0
Berkeley DB Java Edition is a high performance, transactional storage engine written entirely in Java. Like the highly successful Berkeley DB product, Berkeley DB Java Edition executes in the address space of the application, without the overhead...
4.5 MB  
NEW DOWNLOADS IN PROGRAMMING, LIBRARIES
Programming  -  FLEX-db Digital Asset Manager 3.0.9
FLEX-db - an enterprise Digital Asset Manager (DAM). It ingests and links metadata with files, creates thumbnails, and processes files using business rules. FLEX-db has a JSP client, Java app server for file input and output and an EJB metadata...
21.57 MB  
Programming  -  Libicom 0.9.0
The libicom library is a character based dynamicly linked library for Linux. It is used to remotely control the Icom IC-R8500 wide band receiver via an RS232 link. All call and return parameters to the control functions are character string based....
20.48 KB  
Programming  -  dotdesktop 0.3
Dotdesktop library provides ability to parse desktop entry file and access the information in a convenient way. Desktop entry file format is defined by freedesktop.org, it is used to describe information about an application such as the name and...
327.68 KB  
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  -  libyasl 0.2
Libyasl is a C++ class library to easily realize TCP/UDP/Multicast clientsand servers in IPv4 and IPv6 environments under GNU/Linux systems.
143.36 KB  
Libraries  -  wolfSSL 3.11.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...
2.73 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