ers

package
v0.10.3 Latest Latest
Warning

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

Go to latest
Published: Aug 9, 2023 License: GPL-3.0 Imports: 28 Imported by: 0

Documentation

Index

Constants

View Source
const (
	PartialRecordsSuffix = "partial"
)

Variables

This section is empty.

Functions

This section is empty.

Types

type CSVFileER

type CSVFileER struct {
	sync.RWMutex
	// contains filtered or unexported fields
}

CSVFileER implements EventReader interface for .csv files

func (*CSVFileER) Config

func (rdr *CSVFileER) Config() *config.EventReaderCfg

func (*CSVFileER) Serve

func (rdr *CSVFileER) Serve() (err error)

type ERService

type ERService struct {
	sync.RWMutex
	// contains filtered or unexported fields
}

ERService is managing the EventReaders

func NewERService

func NewERService(cfg *config.CGRConfig, filterS *engine.FilterS, stopChan chan struct{}, connMgr *engine.ConnManager) *ERService

NewERService instantiates the ERService

func (*ERService) ListenAndServe

func (erS *ERService) ListenAndServe(cfgRldChan chan struct{}) (err error)

ListenAndServe keeps the service alive

type EventReader

type EventReader interface {
	Config() *config.EventReaderCfg // return it's configuration
	Serve() error                   // subscribe the reader on the path
}

func NewCSVFileER

func NewCSVFileER(cfg *config.CGRConfig, cfgIdx int,
	rdrEvents chan *erEvent, rdrErr chan error,
	fltrS *engine.FilterS, rdrExit chan struct{}) (er EventReader, err error)

func NewEventReader

func NewEventReader(cfg *config.CGRConfig, cfgIdx int,
	rdrEvents chan *erEvent, rdrErr chan error,
	fltrS *engine.FilterS, rdrExit chan struct{}) (er EventReader, err error)

NewEventReader instantiates the event reader based on configuration at index

func NewFWVFileERER

func NewFWVFileERER(cfg *config.CGRConfig, cfgIdx int,
	rdrEvents chan *erEvent, rdrErr chan error,
	fltrS *engine.FilterS, rdrExit chan struct{}) (er EventReader, err error)

func NewFlatstoreER

func NewFlatstoreER(cfg *config.CGRConfig, cfgIdx int,
	rdrEvents chan *erEvent, rdrErr chan error,
	fltrS *engine.FilterS, rdrExit chan struct{}) (er EventReader, err error)

func NewKafkaER

func NewKafkaER(cfg *config.CGRConfig, cfgIdx int,
	rdrEvents chan *erEvent, rdrErr chan error,
	fltrS *engine.FilterS, rdrExit chan struct{}) (er EventReader, err error)

NewKafkaER return a new kafka event reader

func NewPartialCSVFileER

func NewPartialCSVFileER(cfg *config.CGRConfig, cfgIdx int,
	rdrEvents chan *erEvent, rdrErr chan error,
	fltrS *engine.FilterS, rdrExit chan struct{}) (er EventReader, err error)

func NewSQLEventReader

func NewSQLEventReader(cfg *config.CGRConfig, cfgIdx int,
	rdrEvents chan *erEvent, rdrErr chan error,
	fltrS *engine.FilterS, rdrExit chan struct{}) (er EventReader, err error)

NewSQLEventReader return a new kafka event reader

func NewXMLFileER

func NewXMLFileER(cfg *config.CGRConfig, cfgIdx int,
	rdrEvents chan *erEvent, rdrErr chan error,
	fltrS *engine.FilterS, rdrExit chan struct{}) (er EventReader, err error)

type FWVFileER

type FWVFileER struct {
	sync.RWMutex
	// contains filtered or unexported fields
}

XMLFileER implements EventReader interface for .xml files

func (*FWVFileER) Config

func (rdr *FWVFileER) Config() *config.EventReaderCfg

func (*FWVFileER) Serve

func (rdr *FWVFileER) Serve() (err error)

type FlatstoreER

type FlatstoreER struct {
	sync.RWMutex
	// contains filtered or unexported fields
}

FlatstoreER implements EventReader interface for Flatstore CDR

func (*FlatstoreER) Config

func (rdr *FlatstoreER) Config() *config.EventReaderCfg

func (*FlatstoreER) Serve

func (rdr *FlatstoreER) Serve() (err error)

type KafkaER

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

KafkaER implements EventReader interface for kafka message

func (*KafkaER) Config

func (rdr *KafkaER) Config() *config.EventReaderCfg

Config returns the current configuration

func (*KafkaER) Serve

func (rdr *KafkaER) Serve() (err error)

Serve will start the gorutines needed to watch the kafka topic

type PartialCSVFileER

type PartialCSVFileER struct {
	sync.RWMutex
	// contains filtered or unexported fields
}

CSVFileER implements EventReader interface for .csv files

func (*PartialCSVFileER) Config

func (rdr *PartialCSVFileER) Config() *config.EventReaderCfg

func (*PartialCSVFileER) Serve

func (rdr *PartialCSVFileER) Serve() (err error)

type SQLEventReader

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

SQLEventReader implements EventReader interface for sql

func (*SQLEventReader) Config

func (rdr *SQLEventReader) Config() *config.EventReaderCfg

Config returns the current configuration

func (*SQLEventReader) Serve

func (rdr *SQLEventReader) Serve() (err error)

Serve will start the gorutines needed to watch the kafka topic

type UnpairedRecord

type UnpairedRecord struct {
	Method    string    // INVITE or BYE
	OriginID  string    // Copute here the OriginID
	Timestamp time.Time // Timestamp of the event, as written by db_flastore module
	Values    []string  // Can contain original values or updated via UpdateValues
	FileName  string
}

This is a partial record received from Flatstore, can be INVITE or BYE and it needs to be paired in order to produce duration

func NewUnpairedRecord

func NewUnpairedRecord(record []string, timezone string, fileName string) (*UnpairedRecord, error)

type XMLFileER

type XMLFileER struct {
	sync.RWMutex
	// contains filtered or unexported fields
}

XMLFileER implements EventReader interface for .xml files

func (*XMLFileER) Config

func (rdr *XMLFileER) Config() *config.EventReaderCfg

func (*XMLFileER) Serve

func (rdr *XMLFileER) Serve() (err error)

Jump to

Keyboard shortcuts

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