Documentation ¶
Index ¶
- Constants
- Variables
- func RegisterHeartbeaters(beaters ...Heartbeater)
- func RegisterMessageHooks(hooks ...MessageHook)
- func RegisterMessageReceivers(receivers ...MessageReceiver)
- func RegisterMessageSenders(senders ...MessageSender)
- func RemoveHeartBeaters(names ...string)
- func SetMessageHookFactory(factory MessageHookFactory)
- func SetMessageReceiverFactory(factory MessageReceiverFactory)
- func SetMessageSenderFactory(factory MessageSenderFactory)
- type AliJiankong
- type AssetProperty
- type Author
- type BaseComponent
- func (p *BaseComponent) AddInPortHooks(inportName string, hooks ...string) Component
- func (p *BaseComponent) BindHandler(inPortName, handlerName string) Component
- func (p *BaseComponent) BindReceiver(inPortName string, receivers ...MessageReceiver) Component
- func (p *BaseComponent) Build() Component
- func (p *BaseComponent) CallHandler(handlerName string, payload *Payload) (result interface{}, err error)
- func (p *BaseComponent) ClearInPortHooks(inportName string) (err error)
- func (p *BaseComponent) GetHandlers(handlerNames ...string) (handlers map[string]ComponentHandler, err error)
- func (p *BaseComponent) GetReceivers(inPortName string) []MessageReceiver
- func (p *BaseComponent) ListHandlers() (handlers map[string]ComponentHandler, err error)
- func (p *BaseComponent) Name() string
- func (p *BaseComponent) Pause()
- func (p *BaseComponent) RegisterHandler(name string, handler ComponentHandler) Component
- func (p *BaseComponent) Resume()
- func (p *BaseComponent) Run()
- func (p *BaseComponent) Status() ComponentStatus
- func (p *BaseComponent) Stop()
- type ChanStatistics
- type ClassicSpirit
- type Component
- type ComponentCommands
- type ComponentContext
- type ComponentHandler
- type ComponentMessage
- type ComponentStatus
- type DefaultMessageHookFactory
- func (p *DefaultMessageHookFactory) CreateHook(hookType, name string, options Options) (hook MessageHook, err error)
- func (p *DefaultMessageHookFactory) Get(name string) (hook MessageHook, err error)
- func (p *DefaultMessageHookFactory) IsExist(hookType string) bool
- func (p *DefaultMessageHookFactory) RegisterMessageHooks(hooks ...MessageHook)
- type DefaultMessageReceiverFactory
- func (p *DefaultMessageReceiverFactory) IsExist(receiverType string) bool
- func (p *DefaultMessageReceiverFactory) NewReceiver(receiverType, url string, options Options) (receiver MessageReceiver, err error)
- func (p *DefaultMessageReceiverFactory) RegisterMessageReceivers(receivers ...MessageReceiver)
- type DefaultMessageSenderFactory
- type Error
- type HeartbeatMessage
- type Heartbeater
- type HookEvent
- type InitalFunc
- type MessageAddress
- type MessageGraph
- type MessageHook
- type MessageHookBigDataRedis
- func (p *MessageHookBigDataRedis) HookAfter(previousMetadatas []MessageHookMetadata, ...) (ignored bool, newMetaData MessageHookMetadata, err error)
- func (p *MessageHookBigDataRedis) HookBefore(currentMetadata MessageHookMetadata, previousMetadatas []MessageHookMetadata, ...) (ignored bool, newMetaData MessageHookMetadata, err error)
- func (p *MessageHookBigDataRedis) Init(options Options) (err error)
- func (p *MessageHookBigDataRedis) Name() string
- type MessageHookFactory
- type MessageHookMetadata
- type MessageReceiver
- type MessageReceiverFactory
- type MessageReceiverMNS
- func (p *MessageReceiverMNS) Address() MessageAddress
- func (p *MessageReceiverMNS) BindInPort(componentName, inPortName string, onMsgReceived OnReceiverMessageReceived, ...)
- func (p *MessageReceiverMNS) Init(url string, options Options) (err error)
- func (p *MessageReceiverMNS) IsRunning() bool
- func (p *MessageReceiverMNS) Metadata() ReceiverMetadata
- func (p *MessageReceiverMNS) Start()
- func (p *MessageReceiverMNS) Stop()
- func (p *MessageReceiverMNS) Type() string
- type MessageReceiverMQS
- type MessageSender
- type MessageSenderFactory
- type MessageSenderMNS
- type MessageSenderMQS
- type OnReceiverError
- type OnReceiverMessageProcessed
- type OnReceiverMessageReceived
- type Options
- func (p Options) GetBoolValue(key string) (value bool, err error)
- func (p Options) GetFloat64Value(key string) (value float64, err error)
- func (p Options) GetInt64Value(key string) (value int64, err error)
- func (p Options) GetStringValue(key string) (value string, err error)
- func (p Options) Serialize() (str string, err error)
- type Payload
- func (p *Payload) AppendCommand(command string, value interface{})
- func (p *Payload) CopyFrom(payload *Payload)
- func (p *Payload) Error() Error
- func (p *Payload) FillContentToObject(v interface{}) (err error)
- func (p *Payload) GetCommand(key string) (val []interface{}, exist bool)
- func (p *Payload) GetCommandObjectArray(command string, values []interface{}) (err error)
- func (p *Payload) GetCommandStringArray(command string) (vals []string, err error)
- func (p *Payload) GetCommandValueSize(key string) int
- func (p *Payload) GetContent() interface{}
- func (p *Payload) GetContext(key string) (val interface{}, exist bool)
- func (p *Payload) GetContextInt(key string) (val int, err error)
- func (p *Payload) GetContextInt32(key string) (val int32, err error)
- func (p *Payload) GetContextInt64(key string) (val int64, err error)
- func (p *Payload) GetContextObject(key string, v interface{}) (err error)
- func (p *Payload) GetContextString(key string) (val string, err error)
- func (p *Payload) GetContextStringArray(key string) (vals []string, err error)
- func (p *Payload) GoBad(e error)
- func (p *Payload) Id() string
- func (p *Payload) IsCorrect() bool
- func (p *Payload) Serialize() (data []byte, err error)
- func (p *Payload) SetCommand(command string, values []interface{})
- func (p *Payload) SetContent(content interface{})
- func (p *Payload) SetContext(key string, val interface{})
- func (p *Payload) UnSerialize(data []byte) (err error)
- type ReceiverMetadata
- type Spirit
Constants ¶
View Source
const ( SIG_PAUSE = 1000 SIG_RESUME = 1001 SIG_STOP = 1002 )
View Source
const ( STATUS_READY ComponentStatus = 0 STATUS_RUNNING = 1 STATUS_PAUSED = 2 STATUS_STOPPING = 3 STATUS_STOPPED = 4 )
View Source
const ( ERROR_MSG_ADDR = "-100" ERROR_MSG_ADDR_INT int32 = -100 )
View Source
const ( EVENT_CMD_STOP = "EVENT_CMD_STOP" EVENT_RECEIVER_STOPPED = "EVENT_RECEIVER_STOPPED" EVENT_RECEIVER_STARTED = "EVENT_RECEIVER_STARTED" EVENT_RECEIVER_MSG_COUNT_UPDATED = "EVENT_RECEIVER_MSG_COUNT_UPDATED" EVENT_RECEIVER_MSG_RECEIVED = "EVENT_RECEIVER_MSG_RECEIVED" EVENT_RECEIVER_MSG_ERROR = "EVENT_RECEIVER_MSG_ERROR" EVENT_RECEIVER_MSG_DELETED = "EVENT_RECEIVER_MSG_DELETED" EVENT_HEARTBEAT = "EVENT_HEARTBEAT" EVENT_BEFORE_MESSAGE_HOOK = "EVENT_BEFORE_MESSAGE_HOOK" EVENT_AFTER_MESSAGE_HOOK = "EVENT_AFTER_MESSAGE_HOOK" EVENT_BEFORE_MESSAGE_SEND = "EVENT_BEFORE_MESSAGE_SEND" EVENT_AFTER_MESSAGE_SEND = "EVENT_AFTER_MESSAGE_SEND" EVENT_BASE_COMPONENT_STOPPING = "EVENT_BASE_COMPONENT_STOPPING" EVENT_BASE_COMPONENT_STOPPED = "EVENT_BASE_COMPONENT_STOPPED" EVENT_BASE_COMPONENT_INTERNAL_MESSAGE = "EVENT_BASE_COMPONENT_INTERNAL_MESSAGE" )
View Source
const ( INSTANCE_RUNNING = "Running" INSTANCE_EXITED = "Exited" )
View Source
const ( BIG_DATA_MESSAGE_ID = "BIG_DATA_MESSAGE_ID" MAX_DATA_LENGTH = 1024 * 30 //30k BIG_DATA_REDIS_EXPIRE_SECONDS = 600 REDIS_DATA_SIZE = 1024 * 512 //512K )
View Source
const ( SPIRIT_CHILD_INSTANCE = "SPIRIT_CHILD_INSTANCE" SPIRIT_BIN_HOME = "SPIRIT_BIN_HOME" )
View Source
const ( EXT_SPIRIT = ".spirit" ENV_NAME = "SPIRIT_ENV" ENV_EXT = ".env" )
View Source
const (
FILE_CHUNK = 8192
)
View Source
const (
SPIRIT = "spirit"
)
View Source
const SPIRIT_ERR_NS = "SPIRIT"
Variables ¶
View Source
var ( ERR_MESSAGE_GRAPH_ADDRESS_NOT_FOUND = errors.TN(SPIRIT_ERR_NS, 1, "could not found next address in graph, current component name: {{.compName}}, port name: {{.portName}}") ERR_MESSAGE_GRAPH_IS_NIL = errors.TN(SPIRIT_ERR_NS, 2, "component graph is nil") ERR_MESSAGE_ADDRESS_IS_EMPTY = errors.TN(SPIRIT_ERR_NS, 3, "component message address is empty") ERR_MESSAGE_SERIALIZE_FAILED = errors.TN(SPIRIT_ERR_NS, 4, "component message serialize failed, err: {{.err}}") ERR_COMPONENT_HANDLER_RETURN_ERROR = errors.TN(SPIRIT_ERR_NS, 5, "component handler return error, component name: {{.name}}, port: {{.port}}, error: {{.err}}") ERR_COMPONENT_HANDLER_NOT_EXIST = errors.TN(SPIRIT_ERR_NS, 6, "component handler not exist, component name: {{.name}}, handler name: {{.handlerName}}") ERR_SENDER_CREDENTIAL_IS_NIL = errors.TN(SPIRIT_ERR_NS, 8, "credential is nil, type: {{.type}}, url: {{.url}}") ERR_SENDER_MNS_CLIENT_IS_NIL = errors.TN(SPIRIT_ERR_NS, 9, "sender mns client is nil, type: {{.type}}, url: {{.url}}") ERR_SENDER_SEND_FAILED = errors.TN(SPIRIT_ERR_NS, 10, "component message send failed, type: {{.type}}, url: {{.url}}, err:{{.err}}") ERR_SENDER_CREATE_FAILED = errors.TN(SPIRIT_ERR_NS, 11, "create sender failed, driver type: {{.type}}") ERR_SENDER_DRIVER_NOT_EXIST = errors.TN(SPIRIT_ERR_NS, 12, "message sender driver not exist, type: {{.type}}") ERR_SENDER_BAD_DRIVER = errors.TN(SPIRIT_ERR_NS, 13, "bad message sender driver of {{.type}}") ERR_RECEIVER_CREDENTIAL_IS_NIL = errors.TN(SPIRIT_ERR_NS, 14, "credential is nil, type: {{.type}}") ERR_RECEIVER_MNS_CLIENT_IS_NIL = errors.TN(SPIRIT_ERR_NS, 15, "receiver mns client is nil, type: {{.type}}, url: {{.url}}") ERR_RECEIVER_DELETE_MSG_ERROR = errors.TN(SPIRIT_ERR_NS, 16, "delete message error, type: {{.type}}, url: {{.url}}, err: {{.err}}") ERR_RECEIVER_UNMARSHAL_MSG_FAILED = errors.TN(SPIRIT_ERR_NS, 17, "receiver unmarshal message failed, type: {{.type}}, err: {{.err}}") ERR_RECEIVER_RECV_ERROR = errors.TN(SPIRIT_ERR_NS, 18, "receiver recv error, type: {{.type}}, url: {{.url}}, err: {{.err}}") ERR_RECEIVER_BAD_DRIVER = errors.TN(SPIRIT_ERR_NS, 19, "bad message receiver driver of {{.type}}") ERR_RECEIVER_CREATE_FAILED = errors.TN(SPIRIT_ERR_NS, 20, "create receiver failed, driver type: {{.type}}, url: {{.url}}") ERR_RECEIVER_DRIVER_NOT_EXIST = errors.TN(SPIRIT_ERR_NS, 21, "message receiver driver not exist, type: {{.type}}") ERR_RECEIVER_DECODE_MESSAGE_FAILED = errors.TN(SPIRIT_ERR_NS, 22, "message receiver decode message failed, type: {{.type}}, url: {{.url}}, err: {{.err}}") ERR_PORT_NAME_IS_EMPTY = errors.TN(SPIRIT_ERR_NS, 23, "port name is empty, component: {{.name}}") ERR_HANDLER_NAME_IS_EMPTY = errors.TN(SPIRIT_ERR_NS, 24, "handler name is empty, component: {{.name}}") ERR_UUID_GENERATE_FAILED = errors.TN(SPIRIT_ERR_NS, 26, "uuid generate failed, err: {{.err}}") ERR_PAYLOAD_GO_BAD = errors.TN(SPIRIT_ERR_NS, 27, "payload go bad, err: {{.err}}") ERR_PAYLOAD_SERIALIZE_FAILED = errors.TN(SPIRIT_ERR_NS, 28, "payload serialize failed, err: {{.err}}") ERR_COMPONENT_HANDLER_PANIC = errors.TN(SPIRIT_ERR_NS, 29, "component handler panic,component: {{.name}}, err: {{.err}}") ERR_HEARTBEAT_OPTIONS_IS_NIL = errors.TN(SPIRIT_ERR_NS, 30, "heartbeat options is nil, heartbeat name: {{.name}}") ERR_READE_FILE_ERROR = errors.TN(SPIRIT_ERR_NS, 31, "read file error,file: {{.file}} err: {{.err}}") ERR_UNMARSHAL_DATA_ERROR = errors.TN(SPIRIT_ERR_NS, 32, "unmarshal data error, err: {{.err}}") ERR_HEARTBEAT_ALI_JIANKONG_UID_NOT_EXIST = errors.TN(SPIRIT_ERR_NS, 33, "heartbeat of ali jiankong's uid does not exist") ERR_HOOK_CREATE_FAILED = errors.TN(SPIRIT_ERR_NS, 34, "create receiver failed, driver type: {{.type}}, name: {{.name}}") ERR_HOOK_DRIVER_NOT_EXIST = errors.TN(SPIRIT_ERR_NS, 35, "message hook driver not exist, type: {{.type}}") ERR_HOOK_BAD_DRIVER = errors.TN(SPIRIT_ERR_NS, 36, "bad message hook driver of {{.type}}") ERR_MESSAGE_HOOK_ERROR = errors.TN(SPIRIT_ERR_NS, 37, "hook message error, component: {{.name}}, port: {{.port}}, hookName: {{.hookName}}, event: {{.event}}, index: {{.index}}/{{.count}}") ERR_HOOK_INSTANCE_ALREADY_INITALED = errors.TN(SPIRIT_ERR_NS, 38, "hook instance already initaled, driver type: {{.type}}, name: {{.name}}") ERR_HOOK_INSTANCE_NOT_INITALED = errors.TN(SPIRIT_ERR_NS, 39, "hook instance not initaled, hook name: {{.name}}") ERR_INPORT_NOT_BIND_HOOK = errors.TN(SPIRIT_ERR_NS, 40, "in port of {{.inPortName}} not bind hooks") ERR_HOOK_BIG_DATA_OPEN_FILE = errors.TN(SPIRIT_ERR_NS, 41, "open file error,{{.err}}") ERR_HOOK_BIG_DATA_UNMARSHAL_CONF = errors.TN(SPIRIT_ERR_NS, 42, "envJson unmarshal config error,{{.err}}") ERR_HOOK_BIG_DATA_CREATE_REDIS = errors.TN(SPIRIT_ERR_NS, 43, "create redis error,{{.err}}") ERR_HOOK_BIG_DATA_REDIS_GET = errors.TN(SPIRIT_ERR_NS, 44, "redis get data error,{{.err}}") ERR_HOOK_BIG_DATA_REDIS_SET = errors.TN(SPIRIT_ERR_NS, 45, "redis set data error,{{.err}}") ERR_JSON_UNMARSHAL = errors.TN(SPIRIT_ERR_NS, 46, "json unmarshal data error,{{.err}}") ERR_JSON_MARSHAL = errors.TN(SPIRIT_ERR_NS, 47, "json marshal data error,{{.err}}") ERR_HOOK_NAME_IS_EMPTY = errors.TN(SPIRIT_ERR_NS, 48, "hook name is empty") ERR_HOOK_DRIVER_TYPE_IS_EMPTY = errors.TN(SPIRIT_ERR_NS, 49, "hook driver type is empty") ERR_HEARTBEAT_NOT_EXIST = errors.TN(SPIRIT_ERR_NS, 50, "heartbeat of {{.name}} not exist") ERR_OPTIONS_KEY_NOT_EXIST = errors.TN(SPIRIT_ERR_NS, 51, "options key of {{.key}} not exist") ERR_OPTIONS_VALUE_TYPE_ERROR = errors.TN(SPIRIT_ERR_NS, 52, "the key of {{.key}}'s value is {{.value}}, but it was not a type of {{.type}}, the real type was {{.realType}}") ERR_ASSET_FILE_NOT_CACHED = errors.TN(SPIRIT_ERR_NS, 53, "asset file of {{.fileName}} not cached") ERR_ASSET_ALREADY_LOADED = errors.TN(SPIRIT_ERR_NS, 54, "asset file already loaded, but did not have same md5: {{.fileName}}") ERR_CACHE_FILE_NOT_SPECIFIC = errors.TN(SPIRIT_ERR_NS, 55, "cache file not specific") ERR_CACHE_FILE_LOAD_FAILED = errors.TN(SPIRIT_ERR_NS, 56, "load cache file failed, file: {{.fileName}}, err: {{.err}}") ERR_CACHE_ASSET_BACKUP_FAILED = errors.TN(SPIRIT_ERR_NS, 57, "backup cache asset failed, file: {{.fileName}}, err: {{.err}}") ERR_CACHE_FILE_COULD_NOT_SAVE = errors.TN(SPIRIT_ERR_NS, 58, "cache file could not save,file: {{.fileName}}, err: {{.err}}") ERR_CACHE_FILE_SERIALIZE_FAILED = errors.TN(SPIRIT_ERR_NS, 59, "cache file serialize failed, file: {{.fileName}}, err: {{.err}}") ERR_INSTANCE_HOME_CREATE_FAILED = errors.TN(SPIRIT_ERR_NS, 60, "could not create instance home: {{.dir}}") ERR_SAVE_INSTANCE_METADATA_FAILED = errors.TN(SPIRIT_ERR_NS, 61, "save instance metadata failed, instance: {{.name}}, err: {{.err}}") ERR_INSTANCE_NAME_IS_EMPTY = errors.TN(SPIRIT_ERR_NS, 62, "instance name is empty") ERR_LOAD_INSTANCE_METADATA_FAILED = errors.TN(SPIRIT_ERR_NS, 63, "load instance metadata failed, you may need recreate the spirit instance, instance: {{.name}}, err: {{.err}}") ERR_INSTANCE_CAN_NOT_DEL_WHILE_RUN = errors.TN(SPIRIT_ERR_NS, 64, "instance of {{.name}} cloud not delete while running, running pid: {{.pid}}") ERR_OPTIONS_VAL_TYPE_CONV_FAILED = errors.TN(SPIRIT_ERR_NS, 65, "the key of {{.key}}'s value is {{.value}}, but it was not a type of {{.type}}, and convert it from {{.realType}} failed, err: {{.err}}") ERR_INSTANCE_HASH_IS_EMPTY = errors.TN(SPIRIT_ERR_NS, 66, "the instance of {{.name}} hash is empty, you may recreate this instance") ERR_INSTANCE_BIN_ALREADY_COMMIT = errors.TN(SPIRIT_ERR_NS, 67, "instance of {{.name}} already commited, hash: {{.hash}}") ERR_GET_INSTNACE_COMMIT_INFO_ERROR = errors.TN(SPIRIT_ERR_NS, 68, "get instance of {{.name}} commit info error, err: {{.err}}") ERR_WRITE_COMMIT_MESSAGE_ERROR = errors.TN(SPIRIT_ERR_NS, 69, "write commit message error: {{.err}}") ERR_MUST_CHECKOUT_BEFORE_REMOVE = errors.TN(SPIRIT_ERR_NS, 70, "cloud not remove the binary with hash {{.hash}} while using, you can checkout other's bin before remove") ERR_REMOVE_BIN_ERROR = errors.TN(SPIRIT_ERR_NS, 71, "remove binary with hash {{.hash}} failed, err: {{.err}}") ERR_COULD_NOT_MAKE_SPIRIT_TMP_DIR = errors.TN(SPIRIT_ERR_NS, 72, "could not make tmp dir, error: {{.err}}") ERR_WRITE_TMP_CONFIG_FILE_FAILED = errors.TN(SPIRIT_ERR_NS, 73, "write tmp config of {{.fileName}} failed, err: {{.err}}") ERR_MARSHAL_CONFIG_FAILED = errors.TN(SPIRIT_ERR_NS, 74, "marshal config of {{.fileName}} failed, err: {{.err}}") ERR_GET_FILE_REL_PATH_FAILED = errors.TN(SPIRIT_ERR_NS, 75, "get file of {{.fileName}} 's rel path failed, err: {{.err}}") ERR_GET_FILE_ABS_PATH_FAILED = errors.TN(SPIRIT_ERR_NS, 76, "get file of {{.fileName}} 's abs path failed, err: {{.err}}") ERR_SPIRIT_NO_CONFIG_SPECIFIC = errors.TN(SPIRIT_ERR_NS, 1000, "no config file specific") ERR_SPIRIT_ENV_FORAMT_ERROR = errors.TN(SPIRIT_ERR_NS, 1002, "env format error: {{.env}}") ERR_SPIRIT_NO_COMPONENTS_TO_RUN = errors.TN(SPIRIT_ERR_NS, 1003, "no components to run") ERR_SPIRIT_COMPONENT_NOT_HOSTING = errors.TN(SPIRIT_ERR_NS, 1004, "component not hosting: {{.name}}") ERR_SPIRIT_COMPONENT_CONF_NOT_EXIST = errors.TN(SPIRIT_ERR_NS, 1005, "component of {{.name}} did not have configuare in config file") ERR_SPIRIT_COMPONENT_CONF_DUP = errors.TN(SPIRIT_ERR_NS, 1006, "component of {{.name}}'s config duplicated") ERR_SPIRIT_SPIRIT_DID_NOT_BUILD = errors.TN(SPIRIT_ERR_NS, 1007, "spirit did not build") ERR_SPIRIT_LOAD_COMPONENT_CONF_ERROR = errors.TN(SPIRIT_ERR_NS, 1008, "load component config error, file: {{.fileName}}, error: {{.err}}") ERR_SPIRIT_WRITE_PID_FILE_ERROR = errors.TN(SPIRIT_ERR_NS, 1009, "write pid file error: {{.err}}") ERR_SPIRIT_GET_INSTANCE_PID_FAILED = errors.TN(SPIRIT_ERR_NS, 1010, "get instance pid of {{.name}} failed, err: {{.err}}") ERR_SPIRIT_LIST_INSTANCE_FAILED = errors.TN(SPIRIT_ERR_NS, 1011, "list instances failed, err: {{.err}}") ERR_SPIRIT_READ_PID_FILE_ERROR = errors.TN(SPIRIT_ERR_NS, 1012, "read instance of {{.name}} pid file error: {{.err}}") ERR_SPIRIT_LOCK_PID_FILE_FAILED = errors.TN(SPIRIT_ERR_NS, 1013, "lock instance pid file failed, instacne: {{.name}}, {{.err}}") ERR_SPIRIT_INSTANCE_NAME_NOT_INPUT = errors.TN(SPIRIT_ERR_NS, 1014, "please input instance name") ERR_SPIRIT_ONLY_ONE_INST_NAME = errors.TN(SPIRIT_ERR_NS, 1015, "only one instance name allowed") ERR_SPIRIT_INSTANCE_ALREADY_CREATED = errors.TN(SPIRIT_ERR_NS, 1016, "the same instance of [{{.name}}] already created, please use start command.") ERR_SPIRIT_REMOVE_INSTANCE_FAILED = errors.TN(SPIRIT_ERR_NS, 1017, "remove spirit instance of [{{.name}}] error: {{.err}}") ERR_SPIRIT_INSTANCE_NOT_EXIST = errors.TN(SPIRIT_ERR_NS, 1018, "spirit instance of {{.name}} not exist") ERR_SPIRIT_STOP_INSTANCE_FIALED = errors.TN(SPIRIT_ERR_NS, 1019, "stop instance of {{.name}} failed, running pid: {{.pid}}, err: {{.err}}") ERR_SPIRIT_KILL_INSTANCE_FIALED = errors.TN(SPIRIT_ERR_NS, 1020, "kill instance of {{.name}} failed, running pid: {{.pid}}, err: {{.err}}") ERR_SPIRIT_PAUSE_INSTANCE_FIALED = errors.TN(SPIRIT_ERR_NS, 1021, "pause or resume instance of {{.name}} failed, running pid: {{.pid}}, err: {{.err}}") ERR_SPIRIT_INSTANCE_NOT_RUNNING = errors.TN(SPIRIT_ERR_NS, 1022, "instance of {{.name}} may not running.") ERR_SPIRIT_COPY_INSTANCE_ERROR = errors.TN(SPIRIT_ERR_NS, 1023, "copy instance error, err: {{.err}}") ERR_SPIRIT_START_CHILD_INSTANCE = errors.TN(SPIRIT_ERR_NS, 1024, "start child instance of {{.name}} failed, err: {{.err}}") ERR_SPIRIT_COMMIT_MSG_NOT_INPUT = errors.TN(SPIRIT_ERR_NS, 1025, "commit message not input") ERR_SPIRIT_INSTANCE_HASH_NOT_INPUT = errors.TN(SPIRIT_ERR_NS, 1026, "spirit instance hash not input") )
View Source
var (
Assets *assetsManager = newAssetsManager("")
)
View Source
var (
EventCenter event_center.EventCenter = event_center.NewClassicEventCenter(SPIRIT)
)
Functions ¶
func RegisterHeartbeaters ¶ added in v0.2.0
func RegisterHeartbeaters(beaters ...Heartbeater)
func RegisterMessageHooks ¶ added in v0.3.4
func RegisterMessageHooks(hooks ...MessageHook)
func RegisterMessageReceivers ¶ added in v0.3.4
func RegisterMessageReceivers(receivers ...MessageReceiver)
func RegisterMessageSenders ¶ added in v0.3.4
func RegisterMessageSenders(senders ...MessageSender)
func RemoveHeartBeaters ¶ added in v0.2.0
func RemoveHeartBeaters(names ...string)
func SetMessageHookFactory ¶ added in v0.2.0
func SetMessageHookFactory(factory MessageHookFactory)
func SetMessageReceiverFactory ¶ added in v0.2.0
func SetMessageReceiverFactory(factory MessageReceiverFactory)
func SetMessageSenderFactory ¶ added in v0.2.0
func SetMessageSenderFactory(factory MessageSenderFactory)
Types ¶
type AliJiankong ¶
type AliJiankong struct {
// contains filtered or unexported fields
}
func (*AliJiankong) Heartbeat ¶
func (p *AliJiankong) Heartbeat(heartbeatMessage HeartbeatMessage)
func (*AliJiankong) Name ¶
func (p *AliJiankong) Name() string
func (*AliJiankong) Start ¶
func (p *AliJiankong) Start(options Options) (err error)
type AssetProperty ¶ added in v0.2.0
type BaseComponent ¶
type BaseComponent struct {
// contains filtered or unexported fields
}
func (*BaseComponent) AddInPortHooks ¶
func (p *BaseComponent) AddInPortHooks(inportName string, hooks ...string) Component
func (*BaseComponent) BindHandler ¶
func (p *BaseComponent) BindHandler(inPortName, handlerName string) Component
func (*BaseComponent) BindReceiver ¶
func (p *BaseComponent) BindReceiver(inPortName string, receivers ...MessageReceiver) Component
func (*BaseComponent) Build ¶
func (p *BaseComponent) Build() Component
func (*BaseComponent) CallHandler ¶
func (p *BaseComponent) CallHandler(handlerName string, payload *Payload) (result interface{}, err error)
func (*BaseComponent) ClearInPortHooks ¶
func (p *BaseComponent) ClearInPortHooks(inportName string) (err error)
func (*BaseComponent) GetHandlers ¶
func (p *BaseComponent) GetHandlers(handlerNames ...string) (handlers map[string]ComponentHandler, err error)
func (*BaseComponent) GetReceivers ¶
func (p *BaseComponent) GetReceivers(inPortName string) []MessageReceiver
func (*BaseComponent) ListHandlers ¶
func (p *BaseComponent) ListHandlers() (handlers map[string]ComponentHandler, err error)
func (*BaseComponent) Name ¶
func (p *BaseComponent) Name() string
func (*BaseComponent) Pause ¶ added in v0.3.0
func (p *BaseComponent) Pause()
func (*BaseComponent) RegisterHandler ¶
func (p *BaseComponent) RegisterHandler(name string, handler ComponentHandler) Component
func (*BaseComponent) Resume ¶ added in v0.3.0
func (p *BaseComponent) Resume()
func (*BaseComponent) Run ¶
func (p *BaseComponent) Run()
func (*BaseComponent) Status ¶
func (p *BaseComponent) Status() ComponentStatus
func (*BaseComponent) Stop ¶
func (p *BaseComponent) Stop()
type ChanStatistics ¶ added in v0.3.0
type ClassicSpirit ¶
type ClassicSpirit struct {
// contains filtered or unexported fields
}
func (*ClassicSpirit) Build ¶
func (p *ClassicSpirit) Build() Spirit
func (*ClassicSpirit) Hosting ¶
func (p *ClassicSpirit) Hosting(component Component, initalFuncs ...InitalFunc) Spirit
func (*ClassicSpirit) Run ¶
func (p *ClassicSpirit) Run()
type Component ¶
type Component interface { Name() string BindHandler(inPortName string, handlerName string) Component RegisterHandler(name string, handler ComponentHandler) Component CallHandler(handlerName string, payload *Payload) (result interface{}, err error) AddInPortHooks(inportName string, hooks ...string) Component ClearInPortHooks(inportName string) (err error) ListHandlers() (handlers map[string]ComponentHandler, err error) GetHandlers(handlerNames ...string) (handlers map[string]ComponentHandler, err error) BindReceiver(inPortName string, receivers ...MessageReceiver) Component GetReceivers(inPortName string) []MessageReceiver Build() Component Run() Pause() Resume() Stop() Status() ComponentStatus }
func NewBaseComponent ¶
type ComponentCommands ¶
type ComponentCommands map[string][]interface{}
type ComponentContext ¶
type ComponentContext map[string]interface{}
type ComponentHandler ¶
type ComponentMessage ¶
type ComponentMessage struct {
// contains filtered or unexported fields
}
func NewComponentMessage ¶
func NewComponentMessage(graph MessageGraph, payload Payload) (message ComponentMessage, err error)
func (*ComponentMessage) Id ¶
func (p *ComponentMessage) Id() string
func (*ComponentMessage) Serialize ¶
func (p *ComponentMessage) Serialize() (data []byte, err error)
func (*ComponentMessage) UnSerialize ¶
func (p *ComponentMessage) UnSerialize(data []byte) (err error)
type ComponentStatus ¶
type ComponentStatus int
type DefaultMessageHookFactory ¶
type DefaultMessageHookFactory struct {
// contains filtered or unexported fields
}
func (*DefaultMessageHookFactory) CreateHook ¶ added in v0.2.0
func (p *DefaultMessageHookFactory) CreateHook(hookType, name string, options Options) (hook MessageHook, err error)
func (*DefaultMessageHookFactory) Get ¶
func (p *DefaultMessageHookFactory) Get(name string) (hook MessageHook, err error)
func (*DefaultMessageHookFactory) IsExist ¶
func (p *DefaultMessageHookFactory) IsExist(hookType string) bool
func (*DefaultMessageHookFactory) RegisterMessageHooks ¶
func (p *DefaultMessageHookFactory) RegisterMessageHooks(hooks ...MessageHook)
type DefaultMessageReceiverFactory ¶
type DefaultMessageReceiverFactory struct {
// contains filtered or unexported fields
}
func (*DefaultMessageReceiverFactory) IsExist ¶
func (p *DefaultMessageReceiverFactory) IsExist(receiverType string) bool
func (*DefaultMessageReceiverFactory) NewReceiver ¶
func (p *DefaultMessageReceiverFactory) NewReceiver(receiverType, url string, options Options) (receiver MessageReceiver, err error)
func (*DefaultMessageReceiverFactory) RegisterMessageReceivers ¶
func (p *DefaultMessageReceiverFactory) RegisterMessageReceivers(receivers ...MessageReceiver)
type DefaultMessageSenderFactory ¶
type DefaultMessageSenderFactory struct {
// contains filtered or unexported fields
}
func (*DefaultMessageSenderFactory) IsExist ¶
func (p *DefaultMessageSenderFactory) IsExist(senderType string) bool
func (*DefaultMessageSenderFactory) NewSender ¶
func (p *DefaultMessageSenderFactory) NewSender(senderType string) (sender MessageSender, err error)
func (*DefaultMessageSenderFactory) RegisterMessageSenders ¶
func (p *DefaultMessageSenderFactory) RegisterMessageSenders(senders ...MessageSender)
type Error ¶
type Error struct { Id string `json:"id,omitempty"` Namespace string `json:"namespace,omitempty"` Code uint64 `json:"code,omitempty"` AddressId int32 `json:"address_id,omitempty"` Message string `json:"message,omitempty"` Context map[string]interface{} `json:"context,omitempty"` StackTrace string `json:"stack_trace,omitempty"` }
type HeartbeatMessage ¶
type Heartbeater ¶
type Heartbeater interface { Name() string Start(options Options) error Heartbeat(heartbeatMessage HeartbeatMessage) }
type InitalFunc ¶
type InitalFunc func() (err error)
type MessageAddress ¶
type MessageGraph ¶
type MessageGraph map[string]MessageAddress
func (MessageGraph) AddAddress ¶
func (p MessageGraph) AddAddress(addrs ...MessageAddress) int
func (MessageGraph) AddAddressToHead ¶ added in v0.3.4
func (p MessageGraph) AddAddressToHead(addrs ...MessageAddress) int
func (MessageGraph) ClearErrorAddress ¶
func (p MessageGraph) ClearErrorAddress()
func (MessageGraph) SetErrorAddress ¶
func (p MessageGraph) SetErrorAddress(address MessageAddress)
type MessageHook ¶
type MessageHook interface { Init(options Options) error Name() string HookBefore( currentMetadata MessageHookMetadata, previousMetadatas []MessageHookMetadata, contextMetadatas []MessageHookMetadata, payload *Payload) (ignored bool, newMetaData MessageHookMetadata, err error) HookAfter( previousMetadatas []MessageHookMetadata, contextMetadatas []MessageHookMetadata, payload *Payload) (ignored bool, newMetaData MessageHookMetadata, err error) }
type MessageHookBigDataRedis ¶
type MessageHookBigDataRedis struct{}
func (*MessageHookBigDataRedis) HookAfter ¶
func (p *MessageHookBigDataRedis) HookAfter( previousMetadatas []MessageHookMetadata, contextMetadatas []MessageHookMetadata, payload *Payload) (ignored bool, newMetaData MessageHookMetadata, err error)
func (*MessageHookBigDataRedis) HookBefore ¶
func (p *MessageHookBigDataRedis) HookBefore( currentMetadata MessageHookMetadata, previousMetadatas []MessageHookMetadata, contextMetadatas []MessageHookMetadata, payload *Payload) (ignored bool, newMetaData MessageHookMetadata, err error)
func (*MessageHookBigDataRedis) Init ¶
func (p *MessageHookBigDataRedis) Init(options Options) (err error)
func (*MessageHookBigDataRedis) Name ¶
func (p *MessageHookBigDataRedis) Name() string
type MessageHookFactory ¶
type MessageHookFactory interface { RegisterMessageHooks(hooks ...MessageHook) IsExist(hookType string) bool CreateHook(hookType, name string, options Options) (hook MessageHook, err error) Get(name string) (hook MessageHook, err error) }
func GetMessageHookFactory ¶ added in v0.2.0
func GetMessageHookFactory() MessageHookFactory
func NewDefaultMessageHookFactory ¶
func NewDefaultMessageHookFactory() MessageHookFactory
type MessageHookMetadata ¶
type MessageReceiver ¶
type MessageReceiver interface { Type() string Init(url string, options Options) error Address() MessageAddress BindInPort( componentName, inPortName string, onMsgReceived OnReceiverMessageReceived, onReceiverError OnReceiverError) Start() Stop() IsRunning() bool Metadata() ReceiverMetadata }
func NewMessageReceiverMNS ¶ added in v0.3.0
func NewMessageReceiverMNS(url string) MessageReceiver
type MessageReceiverFactory ¶
type MessageReceiverFactory interface { RegisterMessageReceivers(receivers ...MessageReceiver) IsExist(receiverType string) bool NewReceiver(receiverType, url string, options Options) (receiver MessageReceiver, err error) }
func GetMessageReceiverFactory ¶ added in v0.2.0
func GetMessageReceiverFactory() MessageReceiverFactory
func NewDefaultMessageReceiverFactory ¶
func NewDefaultMessageReceiverFactory() MessageReceiverFactory
type MessageReceiverMNS ¶ added in v0.3.0
type MessageReceiverMNS struct {
// contains filtered or unexported fields
}
func (*MessageReceiverMNS) Address ¶ added in v0.3.0
func (p *MessageReceiverMNS) Address() MessageAddress
func (*MessageReceiverMNS) BindInPort ¶ added in v0.3.0
func (p *MessageReceiverMNS) BindInPort(componentName, inPortName string, onMsgReceived OnReceiverMessageReceived, onReceiverError OnReceiverError)
func (*MessageReceiverMNS) Init ¶ added in v0.3.0
func (p *MessageReceiverMNS) Init(url string, options Options) (err error)
func (*MessageReceiverMNS) IsRunning ¶ added in v0.3.0
func (p *MessageReceiverMNS) IsRunning() bool
func (*MessageReceiverMNS) Metadata ¶ added in v0.3.0
func (p *MessageReceiverMNS) Metadata() ReceiverMetadata
func (*MessageReceiverMNS) Start ¶ added in v0.3.0
func (p *MessageReceiverMNS) Start()
func (*MessageReceiverMNS) Stop ¶ added in v0.3.0
func (p *MessageReceiverMNS) Stop()
func (*MessageReceiverMNS) Type ¶ added in v0.3.0
func (p *MessageReceiverMNS) Type() string
type MessageReceiverMQS ¶
type MessageReceiverMQS struct {
MessageReceiverMNS
}
func (*MessageReceiverMQS) Type ¶
func (p *MessageReceiverMQS) Type() string
type MessageSender ¶
type MessageSender interface { Type() string Init() error Send(url string, message ComponentMessage) (err error) }
func NewMessageSenderMNS ¶ added in v0.3.0
func NewMessageSenderMNS() MessageSender
type MessageSenderFactory ¶
type MessageSenderFactory interface { RegisterMessageSenders(senders ...MessageSender) IsExist(senderType string) bool NewSender(senderType string) (sender MessageSender, err error) }
func GetMessageSenderFactory ¶ added in v0.2.0
func GetMessageSenderFactory() MessageSenderFactory
func NewDefaultMessageSenderFactory ¶
func NewDefaultMessageSenderFactory() MessageSenderFactory
type MessageSenderMNS ¶ added in v0.3.0
type MessageSenderMNS struct {
// contains filtered or unexported fields
}
func (*MessageSenderMNS) Init ¶ added in v0.3.0
func (p *MessageSenderMNS) Init() (err error)
func (*MessageSenderMNS) Send ¶ added in v0.3.0
func (p *MessageSenderMNS) Send(url string, message ComponentMessage) (err error)
func (*MessageSenderMNS) Type ¶ added in v0.3.0
func (p *MessageSenderMNS) Type() string
type MessageSenderMQS ¶
type MessageSenderMQS struct {
MessageSenderMNS
}
func (*MessageSenderMQS) Type ¶
func (p *MessageSenderMQS) Type() string
type OnReceiverError ¶ added in v0.3.0
type OnReceiverMessageProcessed ¶ added in v0.3.0
type OnReceiverMessageProcessed func(context interface{})
type OnReceiverMessageReceived ¶ added in v0.3.0
type OnReceiverMessageReceived func(inPortName string, context interface{}, compMsg ComponentMessage, callbacks ...OnReceiverMessageProcessed)
type Options ¶ added in v0.2.0
type Options map[string]interface{}
func (Options) GetBoolValue ¶ added in v0.3.2
func (Options) GetFloat64Value ¶ added in v0.2.0
func (Options) GetInt64Value ¶ added in v0.2.0
func (Options) GetStringValue ¶ added in v0.2.0
type Payload ¶
type Payload struct {
// contains filtered or unexported fields
}
func (*Payload) AppendCommand ¶
func (*Payload) FillContentToObject ¶
func (*Payload) GetCommand ¶
func (*Payload) GetCommandObjectArray ¶
func (*Payload) GetCommandStringArray ¶
func (*Payload) GetCommandValueSize ¶
func (*Payload) GetContent ¶
func (p *Payload) GetContent() interface{}
func (*Payload) GetContext ¶
func (*Payload) GetContextInt32 ¶
func (*Payload) GetContextInt64 ¶
func (*Payload) GetContextObject ¶
func (*Payload) GetContextString ¶
func (*Payload) GetContextStringArray ¶
func (*Payload) SetCommand ¶
func (*Payload) SetContent ¶
func (p *Payload) SetContent(content interface{})
func (*Payload) SetContext ¶
func (*Payload) UnSerialize ¶
type ReceiverMetadata ¶ added in v0.3.0
Source Files ¶
- asset_manager.go
- base_component.go
- chan_statistics.go
- component.go
- component_message.go
- errors.go
- event_center.go
- heartbeat_message.go
- heartbeater.go
- heartbeater_ali_jiankong.go
- instance_manager.go
- message_hook.go
- message_hook_bigdata_redis.go
- message_hook_factory.go
- message_receiver_factory.go
- message_receiver_mns.go
- message_receiver_mqs.go
- message_sender_factory.go
- message_sender_mns.go
- message_sender_mqs.go
- messenger.go
- options.go
- payload.go
- runtime_config.go
- spirit.go
- spirit_classic.go
- spirit_classic_commands.go
- utils.go
Click to show internal directories.
Click to hide internal directories.