Re: Yapircl vs PhpSmartIRC - comparison

From: Date: Tue, 17 Dec 2002 23:25:21 +0000
Subject: Re: Yapircl vs PhpSmartIRC - comparison
References: 1 2  Groups: php.pear.dev 
Request: Send a blank email to pear-dev+get-11730@lists.php.net to get a copy of this message
I don't want to compare these IRC classes, since both sides would say "but this feature is better than in the other IRC class". Also comparinsons should be made by third people not by the authors. Btw some points in his "neutral comparinson" are wrong, hopefully other people noticed that, I thought he read this mailing list for a whiling, overlooked some about SmartIRC? So I won't give any details about those points, the changes that will made in SmartIRC are already done and discussed (License, coding style, regex etc..). The only thing is what I am waiting for is the CVS account for showing the first PEAR version of SmartIRC.... Mirco Bauer aka MEEBEY Geir Torstein Kristiansen wrote:
On Tuesday 17 December 2002 11:06, Lukas Smith wrote:
Well step one would be to determine what the differences are between the packages .. If I understood this correctly, competing packages should only live in PEAR if they take a fundamentally different approach. If they do things the same way they should rather be merged.
Net_Yapircl would be nice. It should be noted that SmartIRC is GPL while Yapircl is licenced under the php license. But I would say from looking at the code that they take a very different approach. Comparison. SmartIRC uses regex stuff, Yapircl none. In SmartIRC you must register your callbacks, in Yapircl clients are built by extending the Yapircl class and adding event_* callbacks to that (nice idea from Net_IRC). The timer systems and main event loops are different. What Yapircl lacks compared to SmartIRC debug levels (planned) logging to file actionhandlers (I will not impose policy on users, its up to them if they want to make an actionhandler system in their client) What Yapircl has that SmartIRC has not: RFC compliant message parser Normal message queue/Priority message queue Proper message throttling like IRCu, means it can first burst 5 messages then 2 messages each second after that. Throttling can be turned off temporary or permanently with setUseQ() YapirlBot class for looping a server list and reconnecting forever with increasing timeouts if connecting is unsuccessfull. Other convenience functions in YapirclBot. Tracking topic changes and topic set timestamp and setby info. Tracking usermodes, ops/voices Tracking channelmodes, channel created timestamp Keeping track of the nicklist, when users join, quit, part, kick, quit, kill and nickchanges. WHO syncing of the users in a channel after join, gets hostname, realname, ircop status whatever. Statistics counters. Checks for ping timeout via a timer. Timeout on failed socket_connect() (SmartIRC will hang) Details about Yapircl mainloop/timersystem If Yapircl is used to connect to one server only: It will call socket_select() with the time to the next timer expires as the usec argument so it will sit idle until there is either socket activity or the timer should run. Win32 compatability SmartIRC calls usleep() this will not work on win32 (Yapircl used to do this too) Correct me if I am wrong on any of these points. I am not familiar with the SmartIRC code. Disclaimer: You asked for a comparison, but it should be noted that I have a bias towards my own package because of the time I have put into it. I realize this thing probably reads like a marketing letter though :)


« previous php.pear.dev (#11730) next »