1
0
Fork 0
mirror of https://github.com/fluffle/goirc synced 2025-07-06 21:39:21 +00:00
Commit graph

97 commits

Author SHA1 Message Date
Alex Bramley
f12a174523 Only dispatch DISCONNECTED once. 2015-04-14 07:50:39 +01:00
Alex Bramley
cd24432da4 More deadlock fixes for #58.
- Remove lock in Me().
 - Move call to initialise() to Connect().
 - Ensure DISCONNECTED event is fired after shutdown() lock is released.
2015-04-13 19:05:42 +01:00
Alex Bramley
861f24a130 Alternative deadlock fix. 2015-04-02 09:22:42 +01:00
Alex Bramley
b4870bc685 Tell state tracker all the information about Me. 2015-04-01 17:54:33 +01: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
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
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
Alex Bramley
58eaab3f1f New race detector finds more bugs in my crappy code :-) 2014-09-05 15:39:56 +01:00
3onyc
8f2ab20f4f Make parseLine public by renaming it to ParseLine 2014-07-06 20:26:34 +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
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
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
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
5c56572b0d Split long messages at a configurable length. Fixes #29. 2013-03-17 01:21:09 +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
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
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
Alex Bramley
4cd3831e92 Remove Commands from core goirc.
This dictates too much about how people might want to parse and act upon
information from PRIVMSGs, and thus should be an optional thing.
2013-02-27 20:23:24 +00:00
Chris Rhodes
74dea68158 Moved QUIT and VERSION messages into the config. 2013-02-17 22:28:22 -08:00
Alex Bramley
fd6fc1269b SimpleClient shouldn't need to return an error. 2013-02-18 01:42:44 +00:00
Alex Bramley
8ed96e4294 Add Me() function for ease of use. 2013-02-18 01:38:04 +00:00
Alex Bramley
12bcc94eeb Add mutex for connect/disconnect locking. 2013-02-18 01:36:52 +00:00
Alex Bramley
a323372a0b First steps towards client interface.
- Move all exported vars to Config struct;
- Plumbing for Config.Me etc;
- Constants and INIT/REGISTER handler from github.com/iopred;
2013-02-18 01:36:17 +00:00
Alex Bramley
39882dafd4 Minor rearrangements. 2013-02-17 23:55:39 +00:00
Alex Bramley
b1242aa351 Break out tweakable things into a Config struct. 2013-02-16 18:05:56 +00:00
Alex Bramley
45d7b3317f Remove state.StateTracker stutter, hide it in Conn. 2013-02-16 11:29:56 +00:00
Alex Bramley
f27e56c8b0 Run gofmt, since it's clearly been a while. 2013-02-16 10:33:15 +00:00
Alex Bramley
a674267128 Re-work Handlers for IRC events; add Commands. 2013-02-16 00:17:31 +00:00
Alex Bramley
a038856094 Remove embedded logger from client package. 2013-02-16 00:15:23 +00:00
Alex Bramley
b39e4717af Allow renicking to be customised. (Closes #14) 2013-01-06 21:01:55 +00:00
Alex Bramley
aa021c7cac Fix due to logging api change change. 2012-09-25 23:42:37 +01:00
Alex Bramley
13855ff77b Fix due to logging api change. 2012-09-25 22:39:02 +01:00
Alex Bramley
b98fabe44e Fix go1 time changes up. 2012-06-06 17:12:07 +01:00
Alex Bramley
9c67c42fa1 Merge branch 'release'
Conflicts:
	client/connection.go
	client/connection_test.go
2012-06-06 16:25:07 +01:00
Alex Bramley
1c62354cb8 Rewrite flood limiting for new time behaviour. 2012-02-04 01:13:07 +00:00