Andrew Gallant (Ocelot)
45a4ee92eb
close channels.
2012-05-12 22:17:10 -04:00
Andrew Gallant (Ocelot)
6bdfd1d1b1
A more idiomatic way of trying a non-blocking send on a buffered channel
...
and falling back to a blocking send inside a goroutine.
This really needs to be fixed. The situation only arises when events are
sent and aren't pulled off the channel using {Wait,Poll}ForEvent.
Namely, if the event send blocks, the entire program will deadlock.
Using a goroutine is not ideal because we lose a guarantee of order:
that events are processed in the order of their arrival. However, it
seems OK as a temporary band-aide for a situation that probably doesn't
arise too often.
What I need to do is implement a dynamic queue. Here is a reference
implementation: http://play.golang.org/p/AiHBsxTFpj
2012-05-12 21:55:57 -04:00
Andrew Gallant (Ocelot)
24fef4062a
docs
2012-05-12 21:36:31 -04:00
Andrew Gallant (Ocelot)
c00652934e
better docs
2012-05-10 23:57:34 -04:00
Andrew Gallant (Ocelot)
0c50dc6241
a huge commit. splitting extensions into their own sub-packages.
2012-05-10 17:01:42 -04:00
Andrew Gallant (Ocelot)
e239bb3c68
make resource ids their own individual types. last commit before overhaul to sub-packages
2012-05-10 12:47:19 -04:00
Andrew Gallant (Ocelot)
5d64f69030
fixed nasty bug that made XGB not thread safe
2012-05-08 23:03:45 -04:00
Andrew Gallant (Ocelot)
62b293c937
use a custom logger so we don't stomp all over the global log configuration
2012-05-08 00:27:00 -04:00
Andrew Gallant (Ocelot)
e256da00b1
gofmt
2012-05-07 21:58:43 -04:00
Andrew Gallant (Ocelot)
13d598e5e7
more clean up. use log instead of fmt.Print to stderr. bug fix for event blocking (a hack fix for now).
2012-05-07 21:58:33 -04:00
Andrew Gallant (Ocelot)
dc48249e1a
lots of docs and examples
2012-05-07 04:09:19 -04:00
Andrew Gallant (Ocelot)
3bf376bd66
80 cols
2012-05-07 01:11:41 -04:00
Andrew Gallant (Ocelot)
fd30f1512a
added tests
2012-05-07 01:00:45 -04:00
Andrew Gallant (Ocelot)
369ad0d33e
extensions are working! extensions are working!
2012-05-05 18:22:24 -04:00
Andrew Gallant (Ocelot)
4a7b05be36
oh momma. a lot of modifications and it appears to be working. w00t.
2012-05-05 02:56:15 -04:00
Andrew Gallant (Ocelot)
a5d4ad6c9d
reworking xgb. cleaned up connection stuff a little. making new xid generation cleaner and use goroutines for it.
2012-05-03 22:47:50 -04:00
Andrew Gallant (Ocelot)
5cdae5950c
holy toldeo... things might actually be working
2012-05-03 01:00:01 -04:00
Andrew Gallant (Ocelot)
6bf0191fb0
progress. still not working. this is incredibly difficult.
2012-04-29 03:38:29 -04:00
Andrew Gallant (Ocelot)
52a21b415a
initial commit. not currently in a working state.
2012-04-28 23:25:57 -04:00