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 CandidateSelector ¶
type CandidateSelector func() string
CandidateSelector returns the next endpoint to try if there are errors reaching the mesos master, or else an empty string if there are no such candidates.
type Notification ¶
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 ¶
type NotificationType uint8
const ( NotificationUndefined NotificationType = iota NotificationDisconnected NotificationConnected )
func (NotificationType) String ¶
func (t NotificationType) String() string
type Option ¶
type Option func(*client) Option
Option is a functional configuration option type
func AllowReconnection ¶
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 EndpointCandidates ¶
func EndpointCandidates(cs CandidateSelector) Option
func Listener ¶
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