go-xmpp/config.go

36 lines
1.3 KiB
Go
Raw Normal View History

package xmpp
2018-10-13 12:45:48 +00:00
import (
"gosrc.io/xmpp/stanza"
2018-10-13 12:45:48 +00:00
"os"
"time"
2018-10-13 12:45:48 +00:00
)
2019-11-04 11:58:10 +00:00
// Config & TransportConfiguration must not be modified after having been passed to NewClient. Any
// changes made after connecting are ignored.
2018-09-26 14:27:37 +00:00
type Config struct {
TransportConfiguration
Jid string
parsedJid *stanza.Jid // For easier manipulation
Credential Credential
StreamLogger *os.File // Used for debugging
Lang string // TODO: should default to 'en'
KeepaliveInterval time.Duration // Interval between keepalive packets
ConnectTimeout int // Client timeout in seconds. Default to 15
2019-05-31 17:22:36 +00:00
// Insecure can be set to true to allow to open a session without TLS. If TLS
// is supported on the server, we will still try to use it.
Insecure bool
2020-03-06 15:44:01 +00:00
// Activate stream management process during session
StreamManagementEnable bool
// Enable stream management resume capability
streamManagementResume bool
}
// IsStreamResumable tells if a stream session is resumable by reading the "config" part of a client.
// It checks if stream management is enabled, and if stream resumption was set and accepted by the server.
func IsStreamResumable(c *Client) bool {
return c.config.StreamManagementEnable && c.config.streamManagementResume
}