Documentation ¶
Index ¶
- type PushedItems
- type Pusher
- type ResourceChangedCallback
- type ResourceChangedCallbackFn
- type ResourceChangedCallbacks
- func (callbacks *ResourceChangedCallbacks) AddCallBack(resourceType core_model.ResourceType, id string, ...)
- func (callbacks *ResourceChangedCallbacks) GetCallBack(resourceType core_model.ResourceType, id string) (*ResourceChangedCallback, bool)
- func (callbacks *ResourceChangedCallbacks) InvokeCallbacks(resourceType core_model.ResourceType, items PushedItems)
- func (callbacks *ResourceChangedCallbacks) RemoveCallBack(resourceType core_model.ResourceType, id string)
- type ResourceChangedEventFilter
- type ResourceRequestFilter
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type PushedItems ¶
type PushedItems struct {
// contains filtered or unexported fields
}
func (*PushedItems) ResourceList ¶
func (items *PushedItems) ResourceList() core_model.ResourceList
func (*PushedItems) Revision ¶
func (items *PushedItems) Revision() int64
type Pusher ¶
type Pusher interface { component.Component // AddCallback add callback for target resource type using id // for example, id is a unique id for every client, when resource changed for target resourceType, it will invoke callback AddCallback(resourceType core_model.ResourceType, id string, callback ResourceChangedCallbackFn, filters ...ResourceChangedEventFilter) // RemoveCallback remove callback RemoveCallback(resourceType core_model.ResourceType, id string) // InvokeCallback invoke a target callback // for example, for a push request from client, invoke this function to push resource. InvokeCallback(resourceType core_model.ResourceType, id string, request interface{}, requestFilter ResourceRequestFilter) }
Pusher 's job is to push resource
func NewPusher ¶
func NewPusher( resourceManager manager.ResourceManager, eventBus events.EventBus, newFullResyncTicker func() *time.Ticker, resourceTypes []core_model.ResourceType, ) Pusher
type ResourceChangedCallback ¶
type ResourceChangedCallback struct { Callback ResourceChangedCallbackFn Filters []ResourceChangedEventFilter // contains filtered or unexported fields }
func (*ResourceChangedCallback) Invoke ¶
func (c *ResourceChangedCallback) Invoke(items PushedItems)
type ResourceChangedCallbackFn ¶
type ResourceChangedCallbackFn func(items PushedItems)
type ResourceChangedCallbacks ¶
type ResourceChangedCallbacks struct {
// contains filtered or unexported fields
}
func NewResourceChangedCallbacks ¶
func NewResourceChangedCallbacks() *ResourceChangedCallbacks
func (*ResourceChangedCallbacks) AddCallBack ¶
func (callbacks *ResourceChangedCallbacks) AddCallBack( resourceType core_model.ResourceType, id string, callback ResourceChangedCallbackFn, filters ...ResourceChangedEventFilter, )
func (*ResourceChangedCallbacks) GetCallBack ¶
func (callbacks *ResourceChangedCallbacks) GetCallBack(resourceType core_model.ResourceType, id string) (*ResourceChangedCallback, bool)
func (*ResourceChangedCallbacks) InvokeCallbacks ¶
func (callbacks *ResourceChangedCallbacks) InvokeCallbacks(resourceType core_model.ResourceType, items PushedItems)
func (*ResourceChangedCallbacks) RemoveCallBack ¶
func (callbacks *ResourceChangedCallbacks) RemoveCallBack(resourceType core_model.ResourceType, id string)
type ResourceChangedEventFilter ¶
type ResourceChangedEventFilter func(resourceList core_model.ResourceList) core_model.ResourceList
type ResourceRequestFilter ¶
type ResourceRequestFilter func(request interface{}, resourceList core_model.ResourceList) core_model.ResourceList
Click to show internal directories.
Click to hide internal directories.