db

package
v2.0.0+incompatible Latest Latest
Warning

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

Go to latest
Published: May 7, 2019 License: BSD-3-Clause Imports: 8 Imported by: 3

Documentation

Index

Constants

View Source
const (
	TypeInputRequest             = 1
	TypeQueryRequest             = 2
	TypeBackupRequest            = 3
	TypeDumpRequest              = 4
	TypeErrorResponse            = 128
	TypeQueryResponse            = 129
	TypeQueryStreamStartResponse = 130
	TypeQueryStreamDataResponse  = 131
	TypeQueryStreamEndResponse   = 132
)

Variables

This section is empty.

Functions

This section is empty.

Types

type BackupRequest

type BackupRequest struct {
	Path string `codec:"P"`
}

type DB

type DB interface {
	//AddObservation(observation.InputObservation) observation.Observation
	ConsumeFeed(chan observation.InputObservation)
	Backup(path string)
	Dump(path string)
	Shutdown()
	TotalCount() (int, error)
	Search(*string, *string, *string, *string, int) ([]observation.Observation, error)
}

DB abstracts a database backend for observation storage.

var ObservationDB DB

ObservationDB is the common DB instance used for this balboa session.

type Decoder

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

func MakeDecoder

func MakeDecoder(conn net.Conn) *Decoder

func (*Decoder) ExpectBackupRequestFromBytes

func (dec *Decoder) ExpectBackupRequestFromBytes(buf []byte) (*BackupRequest, error)

func (*Decoder) ExpectDumpRequestFromBytes

func (dec *Decoder) ExpectDumpRequestFromBytes(buf []byte) (*DumpRequest, error)

func (*Decoder) ExpectInputRequestFromBytes

func (dec *Decoder) ExpectInputRequestFromBytes(buf []byte) (*obs.InputObservation, error)

func (*Decoder) ExpectQueryRequestFromBytes

func (dec *Decoder) ExpectQueryRequestFromBytes(buf []byte) (*QueryRequest, error)

func (*Decoder) ExpectQueryResponse

func (dec *Decoder) ExpectQueryResponse() (*QueryResponse, error)

func (*Decoder) ExpectQueryStreamResponse

func (dec *Decoder) ExpectQueryStreamResponse() (*QueryResponse, error)

func (*Decoder) ExpectTypedMessage

func (dec *Decoder) ExpectTypedMessage() (*TypedMessage, error)

func (*Decoder) Release

func (dec *Decoder) Release()

type DumpRequest

type DumpRequest struct {
	Path string `codec:"P"`
}

type Encoder

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

func MakeEncoder

func MakeEncoder() *Encoder

func (*Encoder) EncodeErrorResponse

func (enc *Encoder) EncodeErrorResponse(err ErrorResponse) (*bytes.Buffer, error)

func (*Encoder) EncodeInputRequest

func (enc *Encoder) EncodeInputRequest(o obs.InputObservation) (*bytes.Buffer, error)

func (*Encoder) EncodeQueryRequest

func (enc *Encoder) EncodeQueryRequest(qry QueryRequest) (*bytes.Buffer, error)

func (*Encoder) EncodeQueryStreamDataResponse

func (enc *Encoder) EncodeQueryStreamDataResponse(entry obs.Observation) (*bytes.Buffer, error)

func (*Encoder) EncodeQueryStreamEndResponse

func (enc *Encoder) EncodeQueryStreamEndResponse() (*bytes.Buffer, error)

func (*Encoder) EncodeQueryStreamStartResponse

func (enc *Encoder) EncodeQueryStreamStartResponse() (*bytes.Buffer, error)

func (*Encoder) Release

func (enc *Encoder) Release()

type ErrorResponse

type ErrorResponse struct {
	Message string
}

type Pool

type Pool struct {
	Connect func() (net.Conn, error)
	Ping    func(interface{}) bool
	Close   func(net.Conn)
	// contains filtered or unexported fields
}

func MakePool

func MakePool(initCap, maxCap int, connectFn func() (net.Conn, error)) (*Pool, error)

func (*Pool) Get

func (p *Pool) Get() (net.Conn, error)

func (*Pool) Len

func (p *Pool) Len() int

func (*Pool) Put

func (p *Pool) Put(v net.Conn)

func (*Pool) Refill

func (p *Pool) Refill()

func (*Pool) Teardown

func (p *Pool) Teardown()

type QueryRequest

type QueryRequest struct {
	Qrdata, Qrrname, Qrrtype, QsensorID string
	Hrdata, Hrrname, Hrrtype, HsensorID bool
	Limit                               int
}

type QueryResponse

type QueryResponse struct {
	Obs []obs.Observation
}

type RemoteBackend

type RemoteBackend struct {
	StopChan chan bool
	// contains filtered or unexported fields
}

func MakeRemoteBackend

func MakeRemoteBackend(host string, refill bool) (*RemoteBackend, error)

func (*RemoteBackend) AddObservation

func (db *RemoteBackend) AddObservation(o obs.InputObservation) obs.Observation

func (*RemoteBackend) Backup

func (db *RemoteBackend) Backup(path string)

func (*RemoteBackend) ConsumeFeed

func (db *RemoteBackend) ConsumeFeed(inChan chan obs.InputObservation)

func (*RemoteBackend) Dump

func (db *RemoteBackend) Dump(path string)

func (*RemoteBackend) Search

func (db *RemoteBackend) Search(qrdata, qrrname, qrrtype, qsensorID *string, limit int) ([]obs.Observation, error)

func (*RemoteBackend) Shutdown

func (db *RemoteBackend) Shutdown()

func (*RemoteBackend) TotalCount

func (db *RemoteBackend) TotalCount() (int, error)

type TypedMessage

type TypedMessage struct {
	Type           uint8  `codec:"T"`
	EncodedMessage []byte `codec:"M"`
}

Jump to

Keyboard shortcuts

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