alexreg/ircdotnet — pull request #1 by matthid (2012-06-30 09:22:34+00:00)
Title: Some fixes I did use for another project in combination with ircdotnet

Hey,

really enjoyed working with this project so i figured why not give something back.
I tried to make it as painless for you to review the changes as possible but I'm not a git master....
Used the projekt for a long running bot so some of my fixes will only be needed on very long running connections.

Just to comment the commits a bit:
- The first commit you can use without any danger I guess... I think thats the intended implementation of CircularBufferStream (this did fix some really weird exceptions for me)
- The Secound commit "Added Some Helper Files" is essentially the "Logger" you intended to use in "DebugUtilities" (which could be safely removed after these commits).
... "TODO: use TraceSource here and configure trace listeners in test project."..
I took this Logger from a UtilityLibrary of mine you can use it and integrate it into your project if you want. You can even remove the headers and all.. so no problem there.

- The last commit you should review very carefully.... To me it seems like i started working from an older projekt (maybe) so there is a possibility to remove some of your recent changes ...
That is because I did not start with git a year ago where I did start using your code...
The changes are essentially:
* Changed to Logger instead of DebugUtilities (well I did this for my project for debugging purposes... so it may very well not be as it supposed to be)
* IrcClient Line 1328: Multi Threading Lock problem
* IrcClient Line 1953: Added these Lines to Ensure this was indeed fixed (I guess this problem did occured because of the wrong CircularBufferStream.. .you have one of these problems in your issue tracker)
* IrcClientMessageProcessing Line 255: added the option for the client to not send a pong and send a pong even when user code crashes. (Maybe this is not really RFC like...)
* IrcClientMessageSending Line 108: Enforcing RFC for channel names (was required for my project)
* IrcStandardFloodPreventer Line 77: Fixed a possible overflow

* For most other Changes I really dont know where they come from (maybe because I started working on an older version?!)

Hope you like at least some of these changes (for me they work fine). Tests you provided run fine btw.