adc: PID management
--HG-- branch : adc
This commit is contained in:
parent
ee91ca71c4
commit
a3963f196a
@ -1,11 +1,30 @@
|
|||||||
package libnmdc
|
package libnmdc
|
||||||
|
|
||||||
|
import (
|
||||||
|
"crypto/rand"
|
||||||
|
)
|
||||||
|
|
||||||
type HubConnectionOptions struct {
|
type HubConnectionOptions struct {
|
||||||
Address HubAddress
|
Address HubAddress
|
||||||
SkipVerifyTLS bool // using a negative verb, because bools default to false
|
SkipVerifyTLS bool // using a negative verb, because bools default to false
|
||||||
SkipAutoReconnect bool // as above
|
SkipAutoReconnect bool // as above
|
||||||
Self *UserInfo
|
Self *UserInfo
|
||||||
NickPassword string
|
NickPassword string
|
||||||
|
AdcPID string // blank: autogenerate
|
||||||
|
}
|
||||||
|
|
||||||
|
func NewPID() string {
|
||||||
|
pidBytes := make([]byte, 24)
|
||||||
|
n, err := rand.Read(pidBytes)
|
||||||
|
if err != nil {
|
||||||
|
panic(err) // Insufficient cryptographic randomness
|
||||||
|
}
|
||||||
|
|
||||||
|
if n != 24 {
|
||||||
|
panic("Insufficient cryptographic randomness")
|
||||||
|
}
|
||||||
|
|
||||||
|
return Base32(pidBytes)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (this *HubConnectionOptions) prepareConnection() *HubConnection {
|
func (this *HubConnectionOptions) prepareConnection() *HubConnection {
|
||||||
@ -19,6 +38,10 @@ func (this *HubConnectionOptions) prepareConnection() *HubConnection {
|
|||||||
this.Self.ClientVersion = "0"
|
this.Self.ClientVersion = "0"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if this.AdcPID == "" {
|
||||||
|
this.AdcPID = NewPID()
|
||||||
|
}
|
||||||
|
|
||||||
hc := HubConnection{
|
hc := HubConnection{
|
||||||
Hco: this,
|
Hco: this,
|
||||||
HubName: DEFAULT_HUB_NAME,
|
HubName: DEFAULT_HUB_NAME,
|
||||||
|
Loading…
Reference in New Issue
Block a user