An NMDC client protocol library for Golang. - Offers both channel-based and synchronous APIs. - Includes a sample logging client using the channel-based API. Written in golang Tags: nmdc =GO GET= This package can be installed via go get: `go get code.ivysaur.me/libnmdc` [go-get]code.ivysaur.me/libnmdc git https://git.ivysaur.me/code.ivysaur.me/libnmdc.git[/go-get] =CHANGELOG= 2017-02-09 0.14 - Fix an issue with crashing on malformed IP addresses supplied by the hub 2017-02-09 0.13 - Feature: Implement UserIP2 extension, to retrieve IP addresses of other users - Enhancement: Implement QuickList extension (reduce one network roundtrip during initial connection) - Enhancement: Implement NoHello extension (faster connection performance) - Enhancement: Implement ChatOnly extension - Fix an issue with not notifying client on all MyINFO updates 2017-02-05 0.12 - Fix an issue with mutex deadlock when accessing user information from a callback - Fix an issue with silent disconnection if a password was required but not present 2016-11-29 0.11 - BREAKING: Remove some exported methods - BREAKING: Fix an issue with missing sufficient parameters in the synchronous API - Enhancement: Improve output under godoc - Fix an issue with special characters appearing in recieved private messages - Fix an issue with parsing active/passive connection modes - Fix an issue with errors appearing on stdout 2016-10-08 r10 - Feature: Support `$UserCommand` 2016-08-27 r9 - Fix an issue with parsing MyINFO strings with zero-length speed descriptions - Fix an issue with not storing updated profile information 2016-05-10 r8 - Enhancement: Separate `ClientTag` and `ClientVersion` in `UserInfo` structs 2016-05-08 r7 - BREAKING: Remove direct access to `HubConnection.Users` map - Feature: Threadsafe user map accessor - Feature: Option to disable auto-reconnection - Feature: New `Disconnect()`, `UserCount()`, `UserExists()` functions - Enhancement: Support `$OpList`, add `IsOperator` member to `UserInfo` structs - Refactor into multiple files 2016-04-16 r6 - Fix an issue with calling `panic()` on certain types of abnormal network failure 2016-04-04 r5 - Enhancement: Support protocol keepalives - Enhancement: Support hub redirects (`$ForceMove`) 2016-04-03 r4 - Feature: Add synchronous API - Fix an issue with reading HubConnection's state parameter - Fix an issue with buffered protocol commands 2016-04-03 r3 - Feature: Add `SkipVerifyTLS` option - Fix an issue with calling `panic()` if connection failed 2016-04-02 r2 - Enhancement: Support NMDC-over-TLS (NMDCS) - Fix an issue recieving private messages - Fix an issue with calling `panic()` if connection failed - Fix an issue parsing URIs without a specified port - Move sample content into directory with excluded build 2016-02-12 r1 - Initial public release