base

package
v0.1.3 Latest Latest
Warning

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

Go to latest
Published: Sep 22, 2020 License: MIT Imports: 4 Imported by: 0

README

GoCryptoTrader package Base

Build Status Software License GoDoc Coverage Status Go Report Card

This base package is part of the GoCryptoTrader codebase.

This is still in active development

You can track ideas, planned features and what's in progress on this Trello board: https://trello.com/b/ZAhMhpOy/gocryptotrader.

Join our slack to discuss all things related to GoCryptoTrader! GoCryptoTrader Slack

Base Communications package

Current Features
  • Used to enforce standard variables and methods across the communication packages
Please click GoDocs chevron above to view current GoDoc information for this package

Contribution

Please feel free to submit any pull requests or suggest any desired features to be added.

When submitting a PR, please abide by our coding guidelines:

  • Code must adhere to the official Go formatting guidelines (i.e. uses gofmt).
  • Code must be documented adhering to the official Go commentary guidelines.
  • Code must adhere to our coding style.
  • Pull requests need to be based on and opened against the master branch.

Donations

If this framework helped you in any way, or you would like to support the developers working on it, please donate Bitcoin to:

bc1qk0jareu4jytc0cfrhr5wgshsq8282awpavfahc

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ServiceStarted time.Time
)

global vars contain staged update data that will be sent to the communication mediums

Functions

This section is empty.

Types

type Base

type Base struct {
	Name      string
	Enabled   bool
	Verbose   bool
	Connected bool
}

Base enforces standard variables across communication packages

func (*Base) GetName

func (b *Base) GetName() string

GetName returns a package name

func (*Base) GetStatus

func (b *Base) GetStatus() string

GetStatus returns status data

func (*Base) IsConnected

func (b *Base) IsConnected() bool

IsConnected returns if the package is connected to a server and/or ready to send

func (*Base) IsEnabled

func (b *Base) IsEnabled() bool

IsEnabled returns if the comms package has been enabled in the configuration

type CommsStatus

type CommsStatus struct {
	Enabled   bool `json:"enabled"`
	Connected bool `json:"connected"`
}

CommsStatus stores the status of a comms relayer

type Event

type Event struct {
	Type    string
	Message string
}

Event is a generalise event type

type IComm

type IComm []ICommunicate

IComm is the main interface array across the communication packages

func (IComm) GetEnabledCommunicationMediums

func (c IComm) GetEnabledCommunicationMediums() error

GetEnabledCommunicationMediums prints out enabled and connected communication packages (#debug output only)

func (IComm) GetStatus

func (c IComm) GetStatus() map[string]CommsStatus

GetStatus returns the status of the comms relayers

func (IComm) PushEvent

func (c IComm) PushEvent(event Event)

PushEvent pushes triggered events to all enabled communication links

func (IComm) Setup

func (c IComm) Setup()

Setup sets up communication variables and intiates a connection to the communication mediums

type ICommunicate

type ICommunicate interface {
	Setup(config *config.CommunicationsConfig)
	Connect() error
	PushEvent(Event) error
	IsEnabled() bool
	IsConnected() bool
	GetName() string
}

ICommunicate enforces standard functions across communication packages

Jump to

Keyboard shortcuts

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