vendor: update libnmdc to master (post-0.17.0)

This commit is contained in:
mappu 2018-06-04 16:39:08 +12:00
parent a61dcc3cb0
commit e2836b6388
9 changed files with 46 additions and 35 deletions

6
Gopkg.lock generated
View File

@ -2,10 +2,10 @@
[[projects]] [[projects]]
branch = "master"
name = "code.ivysaur.me/libnmdc" name = "code.ivysaur.me/libnmdc"
packages = ["."] packages = ["."]
revision = "b58bed9c3c4612abb2b1d67c7bc25863c5ceef28" revision = "9eddfc6e586fd4a99bdc87d32bade0cd1a5a33e6"
version = "v0.17.0"
[[projects]] [[projects]]
branch = "master" branch = "master"
@ -28,6 +28,6 @@
[solve-meta] [solve-meta]
analyzer-name = "dep" analyzer-name = "dep"
analyzer-version = 1 analyzer-version = 1
inputs-digest = "75039ebfc2a88d68b24c32495279190af07226639cdd9acf711588a292e97f51" inputs-digest = "f42caa97e6521c92eb941027b3691e537030b092fbbb8712c220c6edd92e16b3"
solver-name = "gps-cdcl" solver-name = "gps-cdcl"
solver-version = 1 solver-version = 1

View File

@ -27,4 +27,4 @@
[[constraint]] [[constraint]]
name = "code.ivysaur.me/libnmdc" name = "code.ivysaur.me/libnmdc"
version = "0.17.0" branch = "master"

View File

@ -19,3 +19,4 @@ e7c2c71ef24b386add728fad35fff4a996fccbac v0.9.0
6422ed687cd308c339b6dc188bbe1034ed93f893 v0.14.0 6422ed687cd308c339b6dc188bbe1034ed93f893 v0.14.0
84fb191007017862ffc37af68dcdace5d8c06eee v0.15.0 84fb191007017862ffc37af68dcdace5d8c06eee v0.15.0
a48811ff2cfe5246c26801cf27da25bf56fec8bb v0.16.0 a48811ff2cfe5246c26801cf27da25bf56fec8bb v0.16.0
800d6c41581571460f26f46b71525306116e8066 v0.17.0

View File

@ -468,8 +468,8 @@ func (this *AdcProtocol) ourINFO(includePid bool) string {
return ret[1:] return ret[1:]
} }
func (this *AdcProtocol) SayInfo() { func (this *AdcProtocol) SayInfo() error {
this.hc.SayRaw("BINF " + this.escape(this.sid) + " " + this.ourINFO(true) + "\n") return this.hc.SayRaw("BINF " + this.escape(this.sid) + " " + this.ourINFO(true) + "\n")
} }
func (this *AdcProtocol) parts2flags(parts []string) (map[string]string, error) { func (this *AdcProtocol) parts2flags(parts []string) (map[string]string, error) {
@ -614,16 +614,17 @@ func (this *AdcProtocol) unescape(encoded string) string {
return strings.Replace(v2, `\\`, `\`, -1) return strings.Replace(v2, `\\`, `\`, -1)
} }
func (this *AdcProtocol) SayPublic(msg string) { func (this *AdcProtocol) SayPublic(msg string) error {
this.hc.SayRaw("BMSG " + this.sid + " " + this.escape(msg) + "\n") return this.hc.SayRaw("BMSG " + this.sid + " " + this.escape(msg) + "\n")
} }
func (this *AdcProtocol) SayPrivate(user, message string) { func (this *AdcProtocol) SayPrivate(user, message string) error {
if sid, ok := this.Nick2SID(user); ok { sid, ok := this.Nick2SID(user)
this.hc.SayRaw("DMSG " + this.sid + " " + sid + " " + this.escape(message) + "\n") if !ok {
} else { return fmt.Errorf("Unknown user '%s'", user)
this.logError(fmt.Errorf("Unknown user '%s'", user))
} }
return this.hc.SayRaw("DMSG " + this.sid + " " + sid + " " + this.escape(message) + "\n")
} }
func (this *AdcProtocol) ProtoMessageSeparator() string { func (this *AdcProtocol) ProtoMessageSeparator() string {

View File

@ -49,34 +49,34 @@ func (this *AutodetectProtocol) ProcessCommand(msg string) {
this.realProto.ProcessCommand(msg) this.realProto.ProcessCommand(msg)
} }
func (this *AutodetectProtocol) SayPublic(msg string) { func (this *AutodetectProtocol) SayPublic(msg string) error {
this.realProtoMut.Lock() this.realProtoMut.Lock()
defer this.realProtoMut.Unlock() defer this.realProtoMut.Unlock()
if this.realProto == nil { if this.realProto == nil {
this.realProto = NewNmdcProtocol(this.hc) this.realProto = NewNmdcProtocol(this.hc)
} }
this.realProto.SayPublic(msg) return this.realProto.SayPublic(msg)
} }
func (this *AutodetectProtocol) SayPrivate(user, message string) { func (this *AutodetectProtocol) SayPrivate(user, message string) error {
this.realProtoMut.Lock() this.realProtoMut.Lock()
defer this.realProtoMut.Unlock() defer this.realProtoMut.Unlock()
if this.realProto == nil { if this.realProto == nil {
this.realProto = NewNmdcProtocol(this.hc) this.realProto = NewNmdcProtocol(this.hc)
} }
this.realProto.SayPrivate(user, message) return this.realProto.SayPrivate(user, message)
} }
func (this *AutodetectProtocol) SayInfo() { func (this *AutodetectProtocol) SayInfo() error {
this.realProtoMut.Lock() this.realProtoMut.Lock()
defer this.realProtoMut.Unlock() defer this.realProtoMut.Unlock()
if this.realProto == nil { if this.realProto == nil {
this.realProto = NewNmdcProtocol(this.hc) this.realProto = NewNmdcProtocol(this.hc)
} }
this.realProto.SayInfo() return this.realProto.SayInfo()
} }
func (this *AutodetectProtocol) ProtoMessageSeparator() string { func (this *AutodetectProtocol) ProtoMessageSeparator() string {

View File

@ -41,16 +41,25 @@ func (this *HubConnection) Users(cb func(*map[string]UserInfo) error) error {
return cb(&this.users) return cb(&this.users)
} }
func (this *HubConnection) SayPublic(message string) { func (this *HubConnection) SayPublic(message string) error {
this.proto.SayPublic(message) if this.proto == nil {
return ErrNotConnected
}
return this.proto.SayPublic(message)
} }
func (this *HubConnection) SayPrivate(recipient string, message string) { func (this *HubConnection) SayPrivate(recipient string, message string) error {
this.proto.SayPrivate(recipient, message) if this.proto == nil {
return ErrNotConnected
}
return this.proto.SayPrivate(recipient, message)
} }
func (this *HubConnection) SayInfo() { func (this *HubConnection) SayInfo() error {
this.proto.SayInfo() if this.proto == nil {
return ErrNotConnected
}
return this.proto.SayInfo()
} }
func (this *HubConnection) UserExists(nick string) bool { func (this *HubConnection) UserExists(nick string) bool {

View File

@ -292,16 +292,16 @@ func (this *NmdcProtocol) unescape(encoded string) string {
return strings.Replace(v2, "&", "&", -1) return strings.Replace(v2, "&", "&", -1)
} }
func (this *NmdcProtocol) SayPublic(message string) { func (this *NmdcProtocol) SayPublic(message string) error {
this.hc.SayRaw("<" + this.hc.Hco.Self.Nick + "> " + this.escape(message) + "|") return this.hc.SayRaw("<" + this.hc.Hco.Self.Nick + "> " + this.escape(message) + "|")
} }
func (this *NmdcProtocol) SayPrivate(recipient, message string) { func (this *NmdcProtocol) SayPrivate(recipient, message string) error {
this.hc.SayRaw("$To: " + recipient + " From: " + this.hc.Hco.Self.Nick + " $<" + this.hc.Hco.Self.Nick + "> " + this.escape(message) + "|") return this.hc.SayRaw("$To: " + recipient + " From: " + this.hc.Hco.Self.Nick + " $<" + this.hc.Hco.Self.Nick + "> " + this.escape(message) + "|")
} }
func (this *NmdcProtocol) SayInfo() { func (this *NmdcProtocol) SayInfo() error {
this.hc.SayRaw(this.getUserMyINFO(this.hc.Hco.Self) + "|") return this.hc.SayRaw(this.getUserMyINFO(this.hc.Hco.Self) + "|")
} }
func (this *NmdcProtocol) parseMyINFO(protomsg string) (*UserInfo, error) { func (this *NmdcProtocol) parseMyINFO(protomsg string) (*UserInfo, error) {

View File

@ -3,11 +3,11 @@ package libnmdc
type Protocol interface { type Protocol interface {
ProcessCommand(msg string) ProcessCommand(msg string)
SayPublic(string) SayPublic(string) error
SayPrivate(user, message string) SayPrivate(user, message string) error
SayInfo() SayInfo() error
ProtoMessageSeparator() string ProtoMessageSeparator() string
} }

View File

@ -8,7 +8,7 @@ import (
const ( const (
DEFAULT_CLIENT_TAG string = "libnmdc.go" DEFAULT_CLIENT_TAG string = "libnmdc.go"
DEFAULT_CLIENT_VERSION string = "0.17" DEFAULT_CLIENT_VERSION string = "0.18"
DEFAULT_HUB_NAME string = "(unknown)" DEFAULT_HUB_NAME string = "(unknown)"
SEND_KEEPALIVE_EVERY time.Duration = 29 * time.Second SEND_KEEPALIVE_EVERY time.Duration = 29 * time.Second
AUTO_RECONNECT_AFTER time.Duration = 30 * time.Second AUTO_RECONNECT_AFTER time.Duration = 30 * time.Second