event

package
v0.1.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 17, 2017 License: Apache-2.0 Imports: 13 Imported by: 0

Documentation

Index

Constants

View Source
const (
	//task_add and task_rm is used for dns/proxy service
	EventTypeTaskHealthy   = "task_healthy"
	EventTypeTaskUnhealthy = "task_unhealthy"

	EventTypeTaskStatePendingOffer   = "task_state_pending_offer"
	EventTypeTaskStatePendingKill    = "task_state_pending_killed"
	EventTypeTaskStateReap           = "task_state_pending_reap"
	EventTypeTaskStateStaging        = "task_state_staging"
	EventTypeTaskStateStarting       = "task_state_starting"
	EventTypeTaskStateRunning        = "task_state_running"
	EventTypeTaskStateKilling        = "task_state_killing"
	EventTypeTaskStateFinished       = "task_state_finished"
	EventTypeTaskStateFailed         = "task_state_failed"
	EventTypeTaskStateKilled         = "task_state_killed"
	EventTypeTaskStateError          = "task_state_error"
	EventTypeTaskStateLost           = "task_state_lost"
	EventTypeTaskStateDropped        = "task_state_dropped"
	EventTypeTaskStateUnreachable    = "task_state_unreachable"
	EventTypeTaskStateGone           = "task_state_gone"
	EventTypeTaskStateGoneByOperator = "task_state_gone_by_operator"
	EventTypeTaskStateUnknown        = "task_state_unknown"

	EventTypeAppStateCreating     = "app_state_creating"
	EventTypeAppStateDeletion     = "app_state_deletion"
	EventTypeAppStateNormal       = "app_state_normal"
	EventTypeAppStateUpdating     = "app_state_updating"
	EventTypeAppStateCancelUpdate = "app_state_cancel_update"
	EventTypeAppStateScaleUp      = "app_state_scale_up"
	EventTypeAppStateScaleDown    = "app_state_scale_down"
)

Variables

This section is empty.

Functions

func BuildJanitorEvent

func BuildJanitorEvent(e *Event) (*upstream.TargetChangeEvent, error)

func BuildResolverEvent

func BuildResolverEvent(e *Event) (*nameserver.RecordGeneratorChangeEvent, error)

func SendEventByHttp

func SendEventByHttp(addr, method string, data []byte) error

Types

type AppInfoEvent

type AppInfoEvent struct {
	AppId     string
	Name      string
	State     string
	ClusterId string
	RunAs     string
}

type DNSSubscriber

type DNSSubscriber struct {
	Key string
	// contains filtered or unexported fields
}

func NewDNSSubscriber

func NewDNSSubscriber() *DNSSubscriber

func (*DNSSubscriber) AddAcceptor

func (subscriber *DNSSubscriber) AddAcceptor(acceptor types.ResolverAcceptor)

func (*DNSSubscriber) InterestIn

func (subscriber *DNSSubscriber) InterestIn(e *Event) bool

func (*DNSSubscriber) Subscribe

func (subscriber *DNSSubscriber) Subscribe(bus *EventBus) error

func (*DNSSubscriber) Unsubscribe

func (subscriber *DNSSubscriber) Unsubscribe(bus *EventBus) error

func (*DNSSubscriber) Write

func (subscriber *DNSSubscriber) Write(e *Event) error

type Event

type Event struct {
	Id      string
	Type    string
	AppId   string
	AppMode string
	Payload interface{}
}

func NewEvent

func NewEvent(t string, payload interface{}) *Event

type EventBus

type EventBus struct {
	Subscribers map[string]EventSubscriber

	EventChan chan *Event

	Lock sync.Mutex
	// contains filtered or unexported fields
}

func New

func New() *EventBus

func (*EventBus) Start

func (bus *EventBus) Start(ctx context.Context) error

func (*EventBus) Stop

func (bus *EventBus) Stop()

type EventSubscriber

type EventSubscriber interface {
	Write(e *Event) error
	Subscribe(bus *EventBus) error
	Unsubscribe(bus *EventBus) error
	InterestIn(e *Event) bool
}

type JanitorSubscriber

type JanitorSubscriber struct {
	Key string
	// contains filtered or unexported fields
}

func NewJanitorSubscriber

func NewJanitorSubscriber() *JanitorSubscriber

func (*JanitorSubscriber) AddAcceptor

func (js *JanitorSubscriber) AddAcceptor(acceptor types.JanitorAcceptor)

func (*JanitorSubscriber) InterestIn

func (js *JanitorSubscriber) InterestIn(e *Event) bool

func (*JanitorSubscriber) Subscribe

func (js *JanitorSubscriber) Subscribe(bus *EventBus) error

func (*JanitorSubscriber) Unsubscribe

func (js *JanitorSubscriber) Unsubscribe(bus *EventBus) error

func (*JanitorSubscriber) Write

func (js *JanitorSubscriber) Write(e *Event) error

type SSESubscriber

type SSESubscriber struct {
	Key string
	// contains filtered or unexported fields
}

func NewSSESubscriber

func NewSSESubscriber(key string, appId string, rw http.ResponseWriter) (*SSESubscriber, chan struct{})

func (*SSESubscriber) InterestIn

func (sse *SSESubscriber) InterestIn(e *Event) bool

func (*SSESubscriber) Subscribe

func (sse *SSESubscriber) Subscribe(bus *EventBus) error

func (*SSESubscriber) Unsubscribe

func (sse *SSESubscriber) Unsubscribe(bus *EventBus) error

func (*SSESubscriber) Write

func (sses *SSESubscriber) Write(e *Event) error

type TaskInfoEvent

type TaskInfoEvent struct {
	Ip        string
	TaskId    string
	AppId     string
	Port      string
	State     string
	Healthy   bool
	ClusterId string
	RunAs     string
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL