
This commit includes updates that affects the build, testing, and deployment of Tile38. - The root level build.sh has been broken up into multiple scripts and placed in the "scripts" directory. - The vendor directory has been updated to follow the Go modules rules, thus `make` should work on isolated environments. Also some vendored packages may have been updated to a later version, if needed. - The Makefile has been updated to allow for making single binaries such as `make tile38-server`. There is some scaffolding during the build process, so from now on all binaries should be made using make. For example, to run a development version of the tile38-cli binary, do this: make tile38-cli && ./tile38-cli not this: go run cmd/tile38-cli/main.go - Travis.CI docker push script has been updated to address a change to Docker's JSON repo meta output, which in turn fixes a bug where new Tile38 versions were not being properly pushed to Docker
138 lines
2.8 KiB
Go
138 lines
2.8 KiB
Go
/*
|
|
* Copyright (c) 2013 IBM Corp.
|
|
*
|
|
* All rights reserved. This program and the accompanying materials
|
|
* are made available under the terms of the Eclipse Public License v1.0
|
|
* which accompanies this distribution, and is available at
|
|
* http://www.eclipse.org/legal/epl-v10.html
|
|
*
|
|
* Contributors:
|
|
* Seth Hoenig
|
|
* Allan Stockdill-Mander
|
|
* Mike Robertson
|
|
*/
|
|
|
|
package mqtt
|
|
|
|
import (
|
|
"crypto/tls"
|
|
"net/url"
|
|
"time"
|
|
)
|
|
|
|
// ClientOptionsReader provides an interface for reading ClientOptions after the client has been initialized.
|
|
type ClientOptionsReader struct {
|
|
options *ClientOptions
|
|
}
|
|
|
|
//Servers returns a slice of the servers defined in the clientoptions
|
|
func (r *ClientOptionsReader) Servers() []*url.URL {
|
|
s := make([]*url.URL, len(r.options.Servers))
|
|
|
|
for i, u := range r.options.Servers {
|
|
nu := *u
|
|
s[i] = &nu
|
|
}
|
|
|
|
return s
|
|
}
|
|
|
|
//ClientID returns the set client id
|
|
func (r *ClientOptionsReader) ClientID() string {
|
|
s := r.options.ClientID
|
|
return s
|
|
}
|
|
|
|
//Username returns the set username
|
|
func (r *ClientOptionsReader) Username() string {
|
|
s := r.options.Username
|
|
return s
|
|
}
|
|
|
|
//Password returns the set password
|
|
func (r *ClientOptionsReader) Password() string {
|
|
s := r.options.Password
|
|
return s
|
|
}
|
|
|
|
//CleanSession returns whether Cleansession is set
|
|
func (r *ClientOptionsReader) CleanSession() bool {
|
|
s := r.options.CleanSession
|
|
return s
|
|
}
|
|
|
|
func (r *ClientOptionsReader) Order() bool {
|
|
s := r.options.Order
|
|
return s
|
|
}
|
|
|
|
func (r *ClientOptionsReader) WillEnabled() bool {
|
|
s := r.options.WillEnabled
|
|
return s
|
|
}
|
|
|
|
func (r *ClientOptionsReader) WillTopic() string {
|
|
s := r.options.WillTopic
|
|
return s
|
|
}
|
|
|
|
func (r *ClientOptionsReader) WillPayload() []byte {
|
|
s := r.options.WillPayload
|
|
return s
|
|
}
|
|
|
|
func (r *ClientOptionsReader) WillQos() byte {
|
|
s := r.options.WillQos
|
|
return s
|
|
}
|
|
|
|
func (r *ClientOptionsReader) WillRetained() bool {
|
|
s := r.options.WillRetained
|
|
return s
|
|
}
|
|
|
|
func (r *ClientOptionsReader) ProtocolVersion() uint {
|
|
s := r.options.ProtocolVersion
|
|
return s
|
|
}
|
|
|
|
func (r *ClientOptionsReader) TLSConfig() tls.Config {
|
|
s := r.options.TLSConfig
|
|
return s
|
|
}
|
|
|
|
func (r *ClientOptionsReader) KeepAlive() time.Duration {
|
|
s := r.options.KeepAlive
|
|
return s
|
|
}
|
|
|
|
func (r *ClientOptionsReader) PingTimeout() time.Duration {
|
|
s := r.options.PingTimeout
|
|
return s
|
|
}
|
|
|
|
func (r *ClientOptionsReader) ConnectTimeout() time.Duration {
|
|
s := r.options.ConnectTimeout
|
|
return s
|
|
}
|
|
|
|
func (r *ClientOptionsReader) MaxReconnectInterval() time.Duration {
|
|
s := r.options.MaxReconnectInterval
|
|
return s
|
|
}
|
|
|
|
func (r *ClientOptionsReader) AutoReconnect() bool {
|
|
s := r.options.AutoReconnect
|
|
return s
|
|
}
|
|
|
|
func (r *ClientOptionsReader) WriteTimeout() time.Duration {
|
|
s := r.options.WriteTimeout
|
|
return s
|
|
}
|
|
|
|
func (r *ClientOptionsReader) MessageChannelDepth() uint {
|
|
s := r.options.MessageChannelDepth
|
|
return s
|
|
}
|