malactor

package
v0.0.0-...-7c8058c Latest Latest
Warning

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

Go to latest
Published: Nov 10, 2020 License: MIT Imports: 3 Imported by: 0

Documentation

Overview

*

  • MIT License *
  • Copyright (c) 2018 - 2019 ccsdsmo *
  • Permission is hereby granted, free of charge, to any person obtaining a copy
  • of this software and associated documentation files (the "Software"), to deal
  • in the Software without restriction, including without limitation the rights
  • to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
  • copies of the Software, and to permit persons to whom the Software is
  • furnished to do so, subject to the following conditions: *
  • The above copyright notice and this permission notice shall be included in all
  • copies or substantial portions of the Software. *
  • THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  • IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  • FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  • AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  • LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
  • OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  • SOFTWARE.

*

  • MIT License *
  • Copyright (c) 2018 - 2019 ccsdsmo *
  • Permission is hereby granted, free of charge, to any person obtaining a copy
  • of this software and associated documentation files (the "Software"), to deal
  • in the Software without restriction, including without limitation the rights
  • to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
  • copies of the Software, and to permit persons to whom the Software is
  • furnished to do so, subject to the following conditions: *
  • The above copyright notice and this permission notice shall be included in all
  • copies or substantial portions of the Software. *
  • THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  • IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  • FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  • AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  • LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
  • OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  • SOFTWARE.

*

  • MIT License *
  • Copyright (c) 2018 - 2019 ccsdsmo *
  • Permission is hereby granted, free of charge, to any person obtaining a copy
  • of this software and associated documentation files (the "Software"), to deal
  • in the Software without restriction, including without limitation the rights
  • to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
  • copies of the Software, and to permit persons to whom the Software is
  • furnished to do so, subject to the following conditions: *
  • The above copyright notice and this permission notice shall be included in all
  • copies or substantial portions of the Software. *
  • THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  • IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  • FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  • AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
  • LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
  • OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
  • SOFTWARE.

Index

Constants

View Source
const (
	MAL_ACTOR_PROVIDER_SEND_HANDLER UOctet = iota
	MAL_ACTOR_PROVIDER_SUBMIT_HANDLER
	MAL_ACTOR_PROVIDER_REQUEST_HANDLER
	MAL_ACTOR_PROVIDER_INVOKE_HANDLER
	MAL_ACTOR_PROVIDER_PROGRESS_HANDLER
	MAL_ACTOR_PROVIDER_PUBSUB_HANDLER
	MAL_ACTOR_CONSUMER_SEND_HANDLER
	MAL_ACTOR_CONSUMER_SUBMIT_HANDLER
	MAL_ACTOR_CONSUMER_REQUEST_HANDLER
	MAL_ACTOR_CONSUMER_INVOKE_HANDLER
	MAL_ACTOR_CONSUMER_PROGRESS_HANDLER
	MAL_ACTOR_CONSUMER_PUBSUB_HANDLER
	MAL_ACTOR_BROKER_PUBSUB_HANDLER
)
View Source
const (
	MAL_ROUTING_NO_HANDLER_MSG              = " *** mal_routing_handle: Error NO HANDLER CORRESPONDING TO THIS MESSAGE"
	MAL_ROUTING_BAD_IP_STAGE_MSG            = " *** mal_routing_handle: Error BAD IP STAGE"
	MAL_ROUTING_UNKNOW_INTERACTION_TYPE_MSG = " *** mal_routing_handle: Error UNKNOW INTERACTION TYPE"
)

TODO (AF): use i18n

Variables

This section is empty.

Functions

This section is empty.

Types

type Actor

type Actor interface {
	Uri() *URI
	Start() error
	Stop() error
	Join() error
}

func NewActor

func NewActor(ctx *Context, service string, routing *Routing) (Actor, error)

type BrokerPubSub

type BrokerPubSub interface {
	OnRegister(endpoint *EndPoint, msg *Message)
	OnDeregister(endpoint *EndPoint, msg *Message)
	OnPublishRegister(endpoint *EndPoint, msg *Message)
	OnPublishDeregister(endpoint *EndPoint, msg *Message)
	OnPublish(endpoint *EndPoint, msg *Message)
	OnNotifyError(endpoint *EndPoint, msg *Message)
	// contains filtered or unexported methods
}

type ConsumerInvoke

type ConsumerInvoke interface {
	OnAck(endpoint *EndPoint, msg *Message)
	OnResponse(endpoint *EndPoint, msg *Message)
	// contains filtered or unexported methods
}

type ConsumerProgress

type ConsumerProgress interface {
	OnAck(endpoint *EndPoint, msg *Message)
	OnUpdate(endpoint *EndPoint, msg *Message)
	OnResponse(endpoint *EndPoint, msg *Message)
	// contains filtered or unexported methods
}

type ConsumerPubSub

type ConsumerPubSub interface {
	OnRegisterAck(endpoint *EndPoint, msg *Message)
	OnDeregister(endpoint *EndPoint, msg *Message)
	OnNotify(endpoint *EndPoint, msg *Message)
	// contains filtered or unexported methods
}

type ConsumerRequest

type ConsumerRequest interface {
	OnResponse(endpoint *EndPoint, msg *Message)
	// contains filtered or unexported methods
}

type ConsumerSubmit

type ConsumerSubmit interface {
	OnAck(endpoint *EndPoint, msg *Message)
	// contains filtered or unexported methods
}

type ProviderInvoke

type ProviderInvoke interface {
	OnInvoke(endpoint *EndPoint, msg *Message)
	// contains filtered or unexported methods
}

type ProviderProgress

type ProviderProgress interface {
	OnProgress(endpoint *EndPoint, msg *Message)
	// contains filtered or unexported methods
}

type ProviderPubSub

type ProviderPubSub interface {
	OnPublishRegisterAck(endpoint *EndPoint, msg *Message)
	OnPublishDeregisterAck(endpoint *EndPoint, msg *Message)
	OnPublishError(endpoint *EndPoint, msg *Message)
	// contains filtered or unexported methods
}

type ProviderRequest

type ProviderRequest interface {
	OnRequest(endpoint *EndPoint, msg *Message)
	// contains filtered or unexported methods
}

type ProviderSend

type ProviderSend interface {
	OnSend(endpoint *EndPoint, msg *Message)
	// contains filtered or unexported methods
}

type ProviderSubmit

type ProviderSubmit interface {
	OnSubmit(endpoint *EndPoint, msg *Message)
	// contains filtered or unexported methods
}

type Routing

type Routing struct {
	// contains filtered or unexported fields
}

Note (AF): this interface may be closer to the "service activator" design pattern than to the "router" one.

func (*Routing) DeregisterHandler

func (routing *Routing) DeregisterHandler(area UShort, areaVersion UOctet, service UShort, operation UShort) error

func (*Routing) GetHandler

func (routing *Routing) GetHandler(hdltype UOctet, area UShort, areaVersion UOctet, service UShort, operation UShort) (handler, error)

func (*Routing) Handle

func (routing *Routing) Handle(msg *Message) error

func (*Routing) RegisterBrokerPubSub

func (routing *Routing) RegisterBrokerPubSub(area UShort, areaVersion UOctet, service UShort, operation UShort, broker *BrokerPubSub) error

func (*Routing) RegisterConsumerInvoke

func (routing *Routing) RegisterConsumerInvoke(area UShort, areaVersion UOctet, service UShort, operation UShort, consumer *ConsumerInvoke) error

func (*Routing) RegisterConsumerPubSub

func (routing *Routing) RegisterConsumerPubSub(area UShort, areaVersion UOctet, service UShort, operation UShort, consumer *ConsumerPubSub) error

func (*Routing) RegisterConsumerRequest

func (routing *Routing) RegisterConsumerRequest(area UShort, areaVersion UOctet, service UShort, operation UShort, consumer *ConsumerRequest) error

func (*Routing) RegisterConsumerSubmit

func (routing *Routing) RegisterConsumerSubmit(area UShort, areaVersion UOctet, service UShort, operation UShort, consumer *ConsumerSubmit) error

func (*Routing) RegisterConsumerprogress

func (routing *Routing) RegisterConsumerprogress(area UShort, areaVersion UOctet, service UShort, operation UShort, consumer *ConsumerProgress) error

func (*Routing) RegisterHandler

func (routing *Routing) RegisterHandler(hdltype UOctet, area UShort, areaVersion UOctet, service UShort, operation UShort, hdlptr handler) error

func (*Routing) RegisterProviderInvoke

func (routing *Routing) RegisterProviderInvoke(area UShort, areaVersion UOctet, service UShort, operation UShort, provider *ProviderInvoke) error

func (*Routing) RegisterProviderProgress

func (routing *Routing) RegisterProviderProgress(area UShort, areaVersion UOctet, service UShort, operation UShort, provider *ProviderProgress) error

func (*Routing) RegisterProviderPubSub

func (routing *Routing) RegisterProviderPubSub(area UShort, areaVersion UOctet, service UShort, operation UShort, provider *ProviderPubSub) error

func (*Routing) RegisterProviderRequest

func (routing *Routing) RegisterProviderRequest(area UShort, areaVersion UOctet, service UShort, operation UShort, provider *ProviderRequest) error

func (*Routing) RegisterProviderSend

func (routing *Routing) RegisterProviderSend(area UShort, areaVersion UOctet, service UShort, operation UShort, provider *ProviderSend) error

func (*Routing) RegisterProviderSubmit

func (routing *Routing) RegisterProviderSubmit(area UShort, areaVersion UOctet, service UShort, operation UShort, provider *ProviderSubmit) error

Jump to

Keyboard shortcuts

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