sqlite

package
v0.1.14 Latest Latest
Warning

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

Go to latest
Published: Apr 23, 2024 License: Apache-2.0 Imports: 22 Imported by: 0

Documentation

Overview

Package sqlite implements the fleetspeak datastore interface using an sqlite database. It is meant for testing for small single-server deployments. In particular, having multiple servers using the same sqlite datastore is not supported.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Datastore

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

Datastore wraps an sqlite database and implements db.Store.

func MakeDatastore

func MakeDatastore(fileName string) (*Datastore, error)

MakeDatastore opens the given sqlite database file and creates any missing tables.

func (*Datastore) AddClient

func (d *Datastore) AddClient(ctx context.Context, id common.ClientID, data *db.ClientData) error

func (*Datastore) AddClientLabel

func (d *Datastore) AddClientLabel(ctx context.Context, id common.ClientID, l *fspb.Label) error

func (*Datastore) BlacklistClient

func (d *Datastore) BlacklistClient(ctx context.Context, id common.ClientID) error

func (*Datastore) CleanupAllocation

func (d *Datastore) CleanupAllocation(ctx context.Context, bID ids.BroadcastID, aID ids.AllocationID) error

func (*Datastore) ClientMessagesForProcessing

func (d *Datastore) ClientMessagesForProcessing(ctx context.Context, id common.ClientID, lim uint64, serviceLimits map[string]uint64) ([]*fspb.Message, error)

ClientMessagesForProcessing implements db.MessageStore.

func (*Datastore) Close

func (d *Datastore) Close() error

Close closes the underlying database resources.

func (*Datastore) CreateAllocation

func (d *Datastore) CreateAllocation(ctx context.Context, id ids.BroadcastID, frac float32, expiry time.Time) (*db.AllocationInfo, error)

func (*Datastore) CreateBroadcast

func (d *Datastore) CreateBroadcast(ctx context.Context, b *spb.Broadcast, limit uint64) error

func (*Datastore) DeletePendingMessages

func (d *Datastore) DeletePendingMessages(ctx context.Context, ids []common.ClientID) error

func (*Datastore) FetchResourceUsageRecords

func (d *Datastore) FetchResourceUsageRecords(ctx context.Context, id common.ClientID, startTimestamp, endTimestamp *tspb.Timestamp) ([]*spb.ClientResourceUsageRecord, error)

func (*Datastore) GetClientData

func (d *Datastore) GetClientData(ctx context.Context, id common.ClientID) (*db.ClientData, error)

func (*Datastore) GetMessageResult

func (d *Datastore) GetMessageResult(ctx context.Context, id common.MessageID) (*fspb.MessageResult, error)

func (*Datastore) GetMessages

func (d *Datastore) GetMessages(ctx context.Context, ids []common.MessageID, wantData bool) ([]*fspb.Message, error)

func (*Datastore) GetPendingMessageCount

func (d *Datastore) GetPendingMessageCount(ctx context.Context, ids []common.ClientID) (uint64, error)

func (*Datastore) GetPendingMessages

func (d *Datastore) GetPendingMessages(ctx context.Context, ids []common.ClientID, offset uint64, limit uint64, wantData bool) ([]*fspb.Message, error)

func (*Datastore) IsNotFound

func (d *Datastore) IsNotFound(err error) bool

IsNotFound implements db.Store.

func (*Datastore) LinkMessagesToContact

func (d *Datastore) LinkMessagesToContact(ctx context.Context, contact db.ContactID, ids []common.MessageID) error

func (*Datastore) ListActiveBroadcasts

func (d *Datastore) ListActiveBroadcasts(ctx context.Context) ([]*db.BroadcastInfo, error)

func (*Datastore) ListClientContacts

func (d *Datastore) ListClientContacts(ctx context.Context, id common.ClientID) ([]*spb.ClientContact, error)

func (*Datastore) ListClients

func (d *Datastore) ListClients(ctx context.Context, ids []common.ClientID) ([]*spb.Client, error)

func (*Datastore) ListSentBroadcasts

func (d *Datastore) ListSentBroadcasts(ctx context.Context, id common.ClientID) ([]ids.BroadcastID, error)

func (*Datastore) ReadFile

func (d *Datastore) ReadFile(ctx context.Context, service, name string) (data db.ReadSeekerCloser, modtime time.Time, err error)

func (*Datastore) RecordClientContact

func (d *Datastore) RecordClientContact(ctx context.Context, data db.ContactData) (db.ContactID, error)

func (*Datastore) RecordResourceUsageData

func (d *Datastore) RecordResourceUsageData(ctx context.Context, id common.ClientID, rud *mpb.ResourceUsageData) error

func (*Datastore) RegisterMessageProcessor

func (d *Datastore) RegisterMessageProcessor(mp db.MessageProcessor)

func (*Datastore) RemoveClientLabel

func (d *Datastore) RemoveClientLabel(ctx context.Context, id common.ClientID, l *fspb.Label) error

func (*Datastore) SaveBroadcastMessage

func (d *Datastore) SaveBroadcastMessage(ctx context.Context, msg *fspb.Message, bID ids.BroadcastID, cID common.ClientID, aID ids.AllocationID) error

func (*Datastore) SetBroadcastLimit

func (d *Datastore) SetBroadcastLimit(ctx context.Context, id ids.BroadcastID, limit uint64) error

func (*Datastore) SetMessageResult

func (d *Datastore) SetMessageResult(ctx context.Context, dest common.ClientID, id common.MessageID, res *fspb.MessageResult) error

func (*Datastore) StatFile

func (d *Datastore) StatFile(ctx context.Context, service, name string) (time.Time, error)

func (*Datastore) StopMessageProcessor

func (d *Datastore) StopMessageProcessor()

func (*Datastore) StoreFile

func (d *Datastore) StoreFile(ctx context.Context, service, name string, data io.Reader) error

func (*Datastore) StoreMessages

func (d *Datastore) StoreMessages(ctx context.Context, msgs []*fspb.Message, contact db.ContactID) error

func (*Datastore) StreamClientContacts

func (d *Datastore) StreamClientContacts(ctx context.Context, id common.ClientID, callback func(*spb.ClientContact) error) error

func (*Datastore) StreamClientIds

func (d *Datastore) StreamClientIds(ctx context.Context, includeBlacklisted bool, lastContactAfter *time.Time, callback func(common.ClientID) error) error

Jump to

Keyboard shortcuts

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