summaryrefslogtreecommitdiff
path: root/xgb.go
AgeCommit message (Collapse)Author
2018-10-27Handle Conn's spawned goroutines upon close, ...jEzEk
fix double close panic, fix occaional panic on sudden connection to server close handle all channel waitings in cookies and requests properly
2018-10-02Cosmetic refactoring of *Conn methodsjEzEk
Just cosmetic changes to unify self reference variable name across all *Conn methods + NewConnNet comment fix This commit makes no changes in logic
2016-03-29fix structs with field name of 'Bytes'Andrew Gallant
(it conflict with a method of the same name that is generated for all such structs)
2016-03-21Read/Write mutex for Extensions mapaarzilli
2015-11-08sendRequest reads req.buf after closing req.seqaarzilli
NewRequest says you can avoid reallocating a new buffer for each request by calling it directly. This is not true if req.seq is closed before req.buf is read.
2015-04-26Remove panics/fatal errors.Andrew Gallant
Fixes #9. This makes shutdown a little more graceful, but there's more work to be done here. Namely, all outstanding cookies need to be given the error, otherwise they will block forever.
2015-04-26assign a sequence id to the cookie before returning from Conn.NewRequestBryan Matsuo
2015-02-22add a new api: NewConnNetfangyuanziti
2013-08-23Export the logger (again)Axel Wagner
Just enabling or disabling logging falls short of the power of interfaces of go. A user is forced to either accept the logging to stderr in the format defined by xgb or disable logging alltogether. By exporting the logger, we can actually let the user decide where to log in what format.
2013-08-11Fixed a nasty bug where closing could cause ReadFull to crashAndrew Gallant
the program. Close #4.
2013-01-26gofmtAndrew Gallant
2013-01-26Provide access to the X display number in the XGB Conn.Andrew Gallant
2012-10-16The hack continues. I've increased the event channel buffer. I know I'mAndrew Gallant (Ocelot)
goofing here. What I'd personally like to do is just use an "infinite" channel. That is, push the limit of how many events can be processed to the machine and not set an artificial limit in XGB. Some day...
2012-06-05Doc fixes and stop exporting ReplyChecked and ReplyUncheckedAndrew Gallant (Ocelot)
2012-05-26Doc touchups.Andrew Gallant (Ocelot)
2012-05-16Add new logger type so that it can be shut off.Andrew Gallant (Ocelot)
2012-05-16export logger so it can be disabledAndrew Gallant (Ocelot)
2012-05-12close channels.Andrew Gallant (Ocelot)
2012-05-12A more idiomatic way of trying a non-blocking send on a buffered channelAndrew Gallant (Ocelot)
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-12docsAndrew Gallant (Ocelot)
2012-05-10better docsAndrew Gallant (Ocelot)
2012-05-10a huge commit. splitting extensions into their own sub-packages.Andrew Gallant (Ocelot)
2012-05-10make resource ids their own individual types. last commit before overhaul to ↵Andrew Gallant (Ocelot)
sub-packages
2012-05-08fixed nasty bug that made XGB not thread safeAndrew Gallant (Ocelot)
2012-05-08use a custom logger so we don't stomp all over the global log configurationAndrew Gallant (Ocelot)
2012-05-07gofmtAndrew Gallant (Ocelot)
2012-05-07more clean up. use log instead of fmt.Print to stderr. bug fix for event ↵Andrew Gallant (Ocelot)
blocking (a hack fix for now).
2012-05-07lots of docs and examplesAndrew Gallant (Ocelot)
2012-05-0780 colsAndrew Gallant (Ocelot)
2012-05-07added testsAndrew Gallant (Ocelot)
2012-05-05extensions are working! extensions are working!Andrew Gallant (Ocelot)
2012-05-05oh momma. a lot of modifications and it appears to be working. w00t.Andrew Gallant (Ocelot)
2012-05-03reworking xgb. cleaned up connection stuff a little. making new xid ↵Andrew Gallant (Ocelot)
generation cleaner and use goroutines for it.
2012-05-03holy toldeo... things might actually be workingAndrew Gallant (Ocelot)
2012-04-29progress. still not working. this is incredibly difficult.Andrew Gallant (Ocelot)
2012-04-28initial commit. not currently in a working state.Andrew Gallant (Ocelot)