StalkR
19815ba792
client/connection: fix deadlock with double shutdown
2015-03-31 23:49:40 +02:00
Alex Bramley
0cac69d2ee
Merge branch 'state-copy'. Fixes #49 , #35 .
...
Overhaul the state tracker to return copies of data that should be correct
at the time of the response. Subsequent changes to tracked IRC state will not
be reflected in the copies. For people fixing up their code because this merge
broke everything, you probably want to be paying particular attention to the
use of conn.Me() instead of conn.cfg.Me.
Sorry if this causes you hassle, it's for the best.
Lastly, if kballard is watching: sorry dude, you were mostly right ;-)
2015-02-27 19:56:41 +00:00
Alex Bramley
0216e0406e
Update client for new state tracking code.
2015-01-02 12:58:50 +00:00
StalkR
262ea31065
client/connection: keep information in disconnected event
2014-12-28 12:39:30 +01:00
Alex Bramley
2e39250355
Allow Join command to take an optional key.
2014-12-23 18:21:53 +00:00
kyle
5e5f5f0253
Moved timeout to Client from Connect
2014-12-20 20:39:44 +02:00
kyle
dde47a6a32
fixed inconsistencies
2014-12-20 19:36:08 +02:00
kyle
d1aa016bb0
Merge remote-tracking branch 'upstream/master'
...
Conflicts:
client/connection.go
2014-12-20 19:17:43 +02:00
kyle
c8beed09da
Fixed formatting with go fmt
2014-12-20 16:56:58 +02:00
kyle
39a7da0a37
Added timeout to deal with connecting to slow and unreliable irc servers
2014-12-20 15:23:57 +02:00
Alex Bee
8231942086
Merge pull request #51 from bramp/ipv6
...
Fixed the building of the server/port string to be IPv6 safe.
2014-12-18 21:43:26 +00:00
Andrew Brampton
d7116e2bd0
Also add time to the Connected event.
2014-11-30 16:00:21 -08:00
Andrew Brampton
706c90baa3
Ensure the time field is populated on the pseudo line events, such as connecting and disconnecting.
2014-11-30 15:42:08 -08:00
Andrew Brampton
dbcdb4c13d
Fixed the building of the server/port string to be IPv6 safe.
2014-11-30 10:09:17 -08:00
Minecrell
b533f5b698
Make local bind address configurable.
2014-10-12 19:34:29 +02:00
Bill Thiede
09765bab65
client: track bot mode on who replies.
2014-09-30 15:01:45 -07:00
Alex Bramley
58eaab3f1f
New race detector finds more bugs in my crappy code :-)
2014-09-05 15:39:56 +01:00
Alex Bee
7c53f41c56
Merge pull request #46 from 3onyc/master
...
Make parseLine public by renaming it to ParseLine
2014-07-06 21:38:46 +01:00
3onyc
8f2ab20f4f
Make parseLine public by renaming it to ParseLine
2014-07-06 20:26:34 +02:00
StalkR
ec98b98fa6
client/mocknetconn_test: minor fix found by go vet
...
net.IPAddr composite literal uses unkeyed fields
2014-06-19 15:19:37 +02:00
Alex Bee
7711182a72
Use Connected() instead of .connected in String()
2014-06-14 15:50:52 +01:00
Peter SZTANOJEV
3fdd17a2b8
move the disconnection event after we are done disconnecting, there is nothing to be done anyway
2014-05-31 20:34:21 +02:00
Alex Bramley
d0606981cb
Atomic incrementing of call count for dispatch test (1->0).
...
This probably could be done better with channels...
2013-09-30 14:49:32 +01:00
Alex Bramley
4eaad0e95e
Use call checker instead of writing to shared var in tests (10->1).
2013-09-30 14:43:29 +01:00
Alex Bramley
637cdb573f
Put read lock in Connected() (10->9).
2013-09-30 13:55:55 +01:00
Alex Bramley
648864c1d4
Wait for all goroutines before calling initialise (54->10).
2013-09-30 13:26:06 +01:00
Alex Bramley
adc6c2917d
Use a single control chan to kill mockNetConn goroutines (77->54).
2013-09-30 13:25:24 +01:00
Alex Bramley
144001d109
Split handlers up into three groups.
2013-09-28 00:15:54 +01:00
Alex Bramley
5bb0c8278d
Minimally invasive change to put logging behind a user-replaceable interface.
...
This could probably be done better, and there are probably awful caveats
and hidden gotchas with this approach. I REGRET NOTHING.
2013-09-27 22:19:40 +01:00
Alex Bramley
06a9cb5d0f
Give each handler its own copy of *Line.
...
Thanks to Kevin Ballard for the suggestion.
2013-04-08 18:04:40 +01:00
Alex Bramley
8ae6733942
Use a channel close to kill goroutines.
...
This tidies things up nicely, especially in some of the tests.
2013-04-08 18:02:34 +01:00
Alex Bramley
8d6b5de994
Don't Error() for EOF, since it's expected.
2013-03-17 21:13:20 +00:00
Alex Bramley
34462b2ad5
Add another Line method to make life easier.
2013-03-17 16:46:39 +00:00
Alex Bramley
5c56572b0d
Split long messages at a configurable length. Fixes #29 .
2013-03-17 01:21:09 +00:00
Alex Bramley
0b64613fe3
Add VHost() command, because I wants it.
2013-03-15 17:40:28 +00:00
Alex Bramley
fd5fddc2cc
Returning an error was awkward. Panic when people do things wrong instead.
2013-03-15 17:04:58 +00:00
Alex Bramley
e6cf0933b5
Add a version of iopred's Message() and Target() Line methods, and tests.
2013-03-10 15:55:16 +00:00
Alex Bramley
332ff0a27d
Fix up parseLine to use these new-fangled constants; fix Copy doc and test.
2013-03-10 15:54:37 +00:00
Alex Bramley
0c25d2d602
Hmm, this is failing occasionally now. Maybe I need a faster computer ;-)
2013-03-10 15:51:43 +00:00
Alex Bramley
31606b7f2f
gofmt run.
2013-03-10 13:31:04 +00:00
Alex Bramley
ac9d05efa2
Port sp0rkle's panic recovery back into goirc.
2013-03-10 13:30:00 +00:00
Alex Bramley
5f2665dde8
Further comment tidy and code reorg.
2013-03-10 13:16:14 +00:00
Alex Bramley
d6cb0bb026
Fix comments and my poor code-reading skills. Damn you StalkR :-)
2013-03-10 12:17:16 +00:00
StalkR
9c832fdbdb
merge #34 changes into #32
2013-03-08 23:59:54 +01:00
Chris Rhodes
60b9313a7a
Ping/Pong message.
2013-03-07 17:43:33 -08:00
Chris Rhodes
d1bf2c3a68
Use constants for named messages.
2013-03-07 17:33:56 -08:00
StalkR
8c5282eda1
client: commands: route commands to Raw and add command injection protection there
2013-03-07 11:54:00 +01:00
StalkR
45ecc205ff
client: commands: protection against IRC command injection
2013-03-06 22:46:10 +01:00
StalkR
4fd4d930cf
client: 352 who reply: do not warn if nick is me
2013-03-06 22:19:08 +01:00
Alex Bramley
9d069586a7
Don't update Me from WHO/WHOIS reply handlers. Fixes #27 .
2013-02-27 23:30:13 +00:00