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
Alex Bramley
dfb6f94b56
Manually managing deadlines is going to *suck*.
2012-02-04 01:12:41 +00:00
Alex Bramley
b23215d09b
Gofix run.
2012-02-04 00:51:06 +00:00
Alex Bramley
f1d0dbe45a
If client-side ping can be disabled, we need to ensure something absorbs the shutdown message.
2011-11-15 22:57:29 +00:00
Alex Bramley
3183c9f177
Allow client-side ping to be disabled by setting PingFreq to zero.
2011-11-15 22:22:40 +00:00
Alex Bramley
8fa5e5624e
Fix issues/9 by implementing a client-side ping loop.
2011-11-15 22:17:29 +00:00
Alex Bramley
e0a5a57fe1
Merge branch 'master' into weekly
...
Conflicts:
client/connection.go # MERGED
event/registry.go # DELETED
logging/mock_test.go # DELETED
2011-11-13 14:13:55 +00:00
Alex Bramley
907560b599
Migrate to split event pkg.
2011-11-13 14:07:19 +00:00
Alex Bramley
4e4c4b6798
Migrate to split logging pkg.
2011-11-13 14:02:12 +00:00
Alex Bramley
9d5159a220
gofix weekly fixes for client.
2011-11-13 13:34:32 +00:00
Alex Bramley
f62470c091
Test rateLimit(). Move call to time.After to write() for ease of testing.
...
Complete test coverage! Well, for things that matter. I think.
2011-11-11 11:17:18 +00:00
Alex Bramley
dc524420b0
Test write(). Fix bug where return of Flush() was not checked.
2011-11-11 10:17:17 +00:00
Alex Bramley
aa75e0e0c6
Make enabling/disabling state-tracking easier. Improve constructors.
2011-11-07 13:34:13 +00:00
Alex Bramley
85097043cf
Epic final commit for nick/chan/logging/testing refactor.
...
* Brings logging changes to client library.
* Brings state tracker to client library.
* Rewrites all tests to use mock logger and mock state tracker.
* Makes state tracking optional, finally.
* Shaves yaks until they are almost completely bald.
2011-11-06 04:56:46 +00:00
Alex Bramley
e36caa3a3d
Merge branch 'logging' into nickchan-refactor
...
Conflicts:
client/nickchan.go
Fix up some inconsistencies in the beginning of the nickchan refactor too.
2011-10-06 22:33:06 +01:00
Alex Bramley
de66051d07
Convert conn.Err into logging.
...
Also, remove all error-side-effect testing cos it was a bit shit.
First step on the long road to refactoring the nick/chan state tracking
and making everything more testable and mockable with interfaces.
2011-09-29 22:54:54 +01:00
Alex Bramley
eb6ac4ce05
Tracking wip.
2011-09-28 20:48:58 +01:00
Alex Bramley
c400a2141a
Run gofmt over code, it's been a while.
2011-09-12 23:25:09 +01:00
Alex Bramley
7d9b8c3099
Add tests for explicit and implicit (via EOF) shutdown; fix bug ;-)
2011-08-23 10:53:52 +01:00
Alex Bramley
f3a2cf6fa6
Make connected externally accessible, per issues/8.
2011-08-22 17:09:48 +01:00
Alex Bramley
fb91caeccf
Fix comment for Conn struct.
2011-08-21 13:57:47 +01:00
Alex Bramley
045679dd42
Split Connect() into two pieces for testing purposes.
2011-08-21 13:31:18 +01:00
Alex Bramley
9c94b0b3e0
Impolite to break the 'IRC event provides Conn, Line' contract.
2011-07-30 19:34:55 +01:00
Alex Bramley
8fed417dce
Oh wait event isn't local.
2011-07-28 00:41:47 +01:00
Alex Bramley
303d3724e2
Break out unboxing code; pass conn/line objects for other events.
2011-07-28 00:24:07 +01:00
Alex Bramley
8e6de2f3c7
Add an overridable Dispatcher to Conn, and use that to dispatch events.
2011-07-27 21:40:56 +01:00
Alex Bramley
900afb5c48
Put nil checking in correct place.
2011-07-27 21:15:09 +01:00
Alex Bramley
33a5bff35b
Move line parsing done in dispatchEvent into ParseLine().
2011-07-27 21:10:37 +01:00
Alex Bramley
5e814babc7
Move to using the new event registry internally.
2011-07-27 21:10:01 +01:00
Alex Bramley
ddd913547c
Add field in Conn to allow external state to be propagated to event handlers.
2011-07-25 22:27:09 +01:00
Alex Bramley
c3715be829
Use second constant in SetTimeout().
2011-07-22 01:20:25 +01:00
Alex Bramley
07d5c0676e
Fix compile error when NewNick() is called before initialise().
2011-07-22 01:20:07 +01:00
Alex Bramley
6634869fe6
Use connected bool properly to ensure shutdown() can't be called twice.
2011-07-22 01:17:35 +01:00
Alex Bramley
291132cab5
Refactor recv() since we needed to rewrite send().
2011-07-22 01:11:15 +01:00
Alex Bramley
0200b741dc
Fix for issues/6 (2/2): Move to using control channels and select.
2011-07-22 01:08:42 +01:00
Alex Bramley
eb51558009
Fix for issues/6 (1/2): Don't close channels when disconnected.
2011-07-21 23:03:11 +01:00
Alex Bramley
a5a4f989ac
Update SSL connectivity to use tls.Dial now it supports a config arg.
2011-07-21 22:00:45 +01:00
Alex Bramley
9748f9c47e
Oops, timeouts are int64 nanoseconds.
2011-07-21 21:59:01 +01:00