usvc

package
v0.0.1 Latest Latest
Warning

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

Go to latest
Published: Apr 5, 2022 License: BSD-2-Clause, MIT, MIT Imports: 10 Imported by: 0

README

usvc

Microservice framework based on NATS.io and Go using JSON message format only.

This repo is currently under development and is therefore highly unstable. It is likely breaking changes will occur frequently.

Introduction

Contracts

Architecture

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	GitVersion string
	GitCommit  string
)

Functions

func GetClientName

func GetClientName() string

Types

type IUsvcStub

type IUsvcStub interface {
	Name() string
	Component() string
	Version() int
	Fullname() string
}

type Usvc

type Usvc struct {
	Settings      types.Settings
	Executor      func()
	ApplySettings func()
	// contains filtered or unexported fields
}

func (*Usvc) Abort

func (svc *Usvc) Abort()

This method doesn't always work - svc.state can be overwritten before the jobengine loop terminates

func (*Usvc) Component

func (svc *Usvc) Component() string

func (*Usvc) DispatchLocalInvocation

func (svc *Usvc) DispatchLocalInvocation(method string, payload string) (interface{}, error)

func (*Usvc) Fullname

func (svc *Usvc) Fullname() string

func (*Usvc) InitializeService

func (svc *Usvc) InitializeService(broker *UsvcBroker, version int, component string, name string, description string)

func (*Usvc) LoadSettings

func (svc *Usvc) LoadSettings() error

func (*Usvc) LogError

func (svc *Usvc) LogError(msg string, err error)

func (*Usvc) LogGeneric

func (svc *Usvc) LogGeneric(category string, format string, args ...interface{})

func (*Usvc) LogInfection

func (svc *Usvc) LogInfection(title string, format string, args ...interface{})

func (*Usvc) LogInfo

func (svc *Usvc) LogInfo(msg string)

func (*Usvc) LogPanic

func (svc *Usvc) LogPanic(caller string)

Windows services can't print to console, so we have to explicitly handle any panics.

func (*Usvc) LogWarning

func (svc *Usvc) LogWarning(msg string)

func (*Usvc) Name

func (svc *Usvc) Name() string

func (*Usvc) Pause

func (svc *Usvc) Pause()

func (*Usvc) Publish

func (svc *Usvc) Publish(subject string, msg interface{}) error

func (*Usvc) PublishData

func (svc *Usvc) PublishData(name string, msg interface{}) error

func (*Usvc) PublishDataString

func (svc *Usvc) PublishDataString(name string, msg string) error

func (*Usvc) PublishEventMessage

func (svc *Usvc) PublishEventMessage(name string, msg interface{}) error

func (*Usvc) PublishEventString

func (svc *Usvc) PublishEventString(name string, msg string) error

func (*Usvc) PublishString

func (svc *Usvc) PublishString(subject string, msg string) error

func (*Usvc) RegisterMethod

func (svc *Usvc) RegisterMethod(name string, callback func(payload string) (interface{}, error))

func (*Usvc) Resume

func (svc *Usvc) Resume()

func (*Usvc) SaveSettings

func (svc *Usvc) SaveSettings()

func (*Usvc) SetTaskIdleTime

func (svc *Usvc) SetTaskIdleTime(durationSeconds int64)

duration in seconds

func (*Usvc) Start

func (svc *Usvc) Start()

func (*Usvc) State

func (svc *Usvc) State() types.ServiceState

func (*Usvc) Stop

func (svc *Usvc) Stop()

func (*Usvc) Trace

func (svc *Usvc) Trace(traceid string, msg string)

func (*Usvc) Version

func (svc *Usvc) Version() int

type UsvcBroker

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

func (*UsvcBroker) CheckConnection

func (broker *UsvcBroker) CheckConnection() error

func (*UsvcBroker) DispatchBytes

func (broker *UsvcBroker) DispatchBytes(subject string, data []byte) (interface{}, error, bool)

func (*UsvcBroker) DispatchMessage

func (broker *UsvcBroker) DispatchMessage(subject string, request *types.Request) (interface{}, error)

func (*UsvcBroker) Error

func (broker *UsvcBroker) Error() error

func (*UsvcBroker) Initialize

func (broker *UsvcBroker) Initialize() error

func (*UsvcBroker) IsServiceAvailable

func (broker *UsvcBroker) IsServiceAvailable(fullname string) bool

func (*UsvcBroker) Log

func (broker *UsvcBroker) Log(fullname string, category string, title string)

func (*UsvcBroker) LogDescription

func (broker *UsvcBroker) LogDescription(fullname string, category string, title string, description string)

func (*UsvcBroker) LogError

func (broker *UsvcBroker) LogError(fullname string, msg string, err error)

func (*UsvcBroker) LogGeneric

func (broker *UsvcBroker) LogGeneric(name string, category string, format string, args ...interface{})

func (*UsvcBroker) LogInfection

func (broker *UsvcBroker) LogInfection(name string, title string, format string, args ...interface{})

func (*UsvcBroker) LogInfo

func (broker *UsvcBroker) LogInfo(fullname string, msg string)

func (*UsvcBroker) LogWarning

func (broker *UsvcBroker) LogWarning(fullname string, msg string)

func (*UsvcBroker) PublishBytes

func (broker *UsvcBroker) PublishBytes(subject string, message []byte) error

func (*UsvcBroker) PublishJson

func (broker *UsvcBroker) PublishJson(subject string, message string) error

func (*UsvcBroker) PublishMessage

func (broker *UsvcBroker) PublishMessage(subject string, message *interface{}) error

func (*UsvcBroker) PublishString

func (broker *UsvcBroker) PublishString(subject string, message string) error

func (*UsvcBroker) RegisterDependencies

func (broker *UsvcBroker) RegisterDependencies(deps []string)

func (*UsvcBroker) RegisterUsvc

func (broker *UsvcBroker) RegisterUsvc(svc *Usvc) error

func (*UsvcBroker) Request

func (broker *UsvcBroker) Request(subject string) (*types.Response, error)

func (*UsvcBroker) RequestMessage

func (broker *UsvcBroker) RequestMessage(subject string, message interface{}) (*types.Response, error)

func (*UsvcBroker) SetTimeout

func (broker *UsvcBroker) SetTimeout(tmo uint)

func (*UsvcBroker) Shutdown

func (broker *UsvcBroker) Shutdown() error

func (*UsvcBroker) Subscribe

func (broker *UsvcBroker) Subscribe(subject string, callback func(m *nats.Msg)) error

func (*UsvcBroker) SubscribeToUsvcCalls

func (broker *UsvcBroker) SubscribeToUsvcCalls(svc Usvc) error

Common code for RegisterUsvc and CheckConnection. Does not verify connection - be wary

func (*UsvcBroker) Trace

func (broker *UsvcBroker) Trace(fullname string, traceid string, msg string)

type UsvcStub

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

func CreateStub

func CreateStub(broker *UsvcBroker, name string, component string, version int) *UsvcStub

func (*UsvcStub) PublishDataMessage

func (stub *UsvcStub) PublishDataMessage(name string, message *interface{}) error

func (*UsvcStub) PublishEventMessage

func (stub *UsvcStub) PublishEventMessage(name string, message *interface{}) error

func (*UsvcStub) PublishEventString

func (stub *UsvcStub) PublishEventString(name string, json string) error

func (*UsvcStub) PublishMessage

func (stub *UsvcStub) PublishMessage(subject string, message interface{}) error

func (*UsvcStub) Request

func (stub *UsvcStub) Request(name string) (*types.Response, error)

func (*UsvcStub) RequestMessage

func (stub *UsvcStub) RequestMessage(name string, request interface{}) (*types.Response, error)

func (*UsvcStub) SubscribeData

func (stub *UsvcStub) SubscribeData(name string, callback func(msg *nats.Msg)) error

func (*UsvcStub) SubscribeEvent

func (stub *UsvcStub) SubscribeEvent(name string, callback func(msg *nats.Msg)) error

Directories

Path Synopsis
examples

Jump to

Keyboard shortcuts

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