summaryrefslogtreecommitdiff
path: root/plugins/informer/interface.go
blob: d91ddf9d4e35c8b9cc957cb3a5fe2a39eb5a5332 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
package informer

import (
	"github.com/spiral/roadrunner/v2/pkg/process"
)

/*
Informer plugin should not receive any other plugin in the Init or via Collects
Because Availabler implementation should present in every plugin
*/

// Informer used to get workers from particular plugin or set of plugins
type Informer interface {
	Workers() []*process.State
}

// Availabler interface should be implemented by every plugin which wish to report to the PHP worker that it available in the RR runtime
type Availabler interface {
	// Available method needed to collect all plugins which are available in the runtime.
	Available()
}