Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var ( ErrNodeAlreadyExists = errors.New("node with same name already exists") ErrUnknownNodeName = errors.New("unknown node name") ErrUnknownOperation = errors.New("unknown operation") ErrUnknownNode = errors.New("unknown node") ErrFoundCycle = errors.New("found cycle") ErrAlreadyUsed = errors.New("node already used in dataflow") )
Возможные ошибки
View Source
var ( ErrBadName = errors.New("name must contain only letters and numbers") ErrExpectedAction = errors.New("expected not empty action name") ErrExpectedAddresses = errors.New("expected not empty addresses") ErrExpectedHost = errors.New("expected not empty host") ErrExpectedPort = errors.New("expected non-zero port") ErrExpectedPositiveReplicas = errors.New("expected replicas count > 0") ErrExpectedSchemeName = errors.New("expected not empty scheme name") ErrExpectedDataflow = errors.New("expected not empty dataflow") ErrNodeNameUsed = errors.New("node name already used") ErrNodeAddressUsed = errors.New("address already used") ErrEmptyArg = errors.New("arg can not be empty") ErrEmptyEnvVarName = errors.New("env variable name can not be empty") )
Возможные ошибки проверки схемы
Functions ¶
This section is empty.
Types ¶
type AddrDescription ¶
type AddrDescription struct { Host string `yaml:"host" json:"host"` Port int `yaml:"port" json:"port"` }
AddrDescription описание адреса сервера, на котором будет запущено действие
type NodeDescription ¶
type NodeDescription struct { Name string `yaml:"name" json:"name"` Action string `yaml:"action" json:"action"` Addresses []*AddrDescription `yaml:"addresses" json:"addresses"` Args []string `yaml:"args" json:"args"` Env map[string]string `yaml:"env" json:"env"` }
NodeDescription описание узла.
func (*NodeDescription) Check ¶
func (d *NodeDescription) Check() error
Check выполняет проверку правильности описания узла.
type NodePlan ¶
type NodePlan struct { Name string `json:"name"` Action string `json:"action"` Host string `json:"host"` Port int `json:"port"` In []string `json:"in"` Out []string `json:"out"` Args []string `json:"args"` Env map[string]string `json:"env"` Addresses []*AddrDescription `json:"addresses"` }
NodePlan описание узла, предназначенного для запуска на сервере.
type Plan ¶
type Plan struct { Name string `json:"name"` Scheme *Scheme `json:"scheme"` Nodes []*NodePlan `json:"nodes"` }
Plan содержит информацию, необходимую для запуска обработки потока на серверах.
type Planner ¶
type Planner struct {
// contains filtered or unexported fields
}
Planner преобразует дерево разбора программы потока данных в план выполнения действий на серверах.
func NewPlanner ¶
NewPlanner создает новый объект Planner
type Scheme ¶
type Scheme struct { Name string `yaml:"name" json:"name"` Nodes []*NodeDescription `yaml:"nodes" json:"nodes"` Dataflow string `yaml:"dataflow" json:"dataflow"` }
Scheme схема запуска пайплайна. Содержит данные о серверах, а также описание программы.
Click to show internal directories.
Click to hide internal directories.