Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
var ( DefaultRedirectSettings = RedirectSettings{ MaxAttempts: 9, MaxBackoffPeriod: 13 * time.Second, MinBackoffPeriod: 500 * time.Millisecond, } )
var DisconnectionDetector = func(disconnect func()) mesos.ResponseDecorator { var disconnectOnce sync.Once disconnectF := func() { disconnectOnce.Do(disconnect) } closeF := mesos.CloseFunc(func() (_ error) { disconnectF(); return }) return mesos.ResponseDecoratorFunc(func(resp mesos.Response) mesos.Response { return &mesos.ResponseWrapper{ Response: resp, Decoder: disconnectionDecoder(resp, disconnectF), Closer: closeF, } }) }
DisconnectionDetector is a programmable response decorator that attempts to detect errors that should transition the state from "connected" to "disconnected". Detector implementations are expected to invoke the `disconnect` callback in order to initiate the disconnection.
The default implementation will transition to a disconnected state when:
- an error occurs while decoding an object from the subscription stream
- mesos reports an ERROR-type scheduler.Event object via the subscription stream
- an object on the stream does not decode to a *scheduler.Event (sanity check)
Consumers of this package may choose to override default behavior by overwriting the default value of this var, but should exercise caution: failure to properly transition to a disconnected state may cause subsequent Call operations to fail (without recourse).
Functions ¶
Types ¶
type Notification ¶ added in v0.0.7
type Notification struct {
Type NotificationType
}
Notification objects are sent to a registered client listener (see Listener) when the state of the scheduler client changes (e.g. from disconnected to connected).
type NotificationType ¶ added in v0.0.7
type NotificationType uint8
const ( NotificationUndefined NotificationType = iota NotificationDisconnected NotificationConnected )
func (NotificationType) String ¶ added in v0.0.7
func (t NotificationType) String() string
type Option ¶
type Option func(*client) Option
Option is a functional configuration option type
func AllowReconnection ¶ added in v0.0.6
AllowReconnection allows a subsequent SUBSCRIBE call before a prior SUBSCRIBE has experienced a network or protocol error. Useful in concert with heartbeat detection and for other edge error cases not handled by the connection state machine.
func Listener ¶ added in v0.0.7
func Listener(l func(Notification)) Option
func MaxRedirects ¶
MaxRedirects is a functional option that sets the maximum number of per-call HTTP redirects for a scheduler client
type RedirectSettings ¶
type StateError ¶
type StateError string
func (StateError) Error ¶
func (err StateError) Error() string