workers

package
v0.0.0-...-9ae858a Latest Latest
Warning

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

Go to latest
Published: Jul 10, 2021 License: MIT Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type BaseMessage

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

func (*BaseMessage) CloneBase

func (b *BaseMessage) CloneBase() BaseMessage

func (*BaseMessage) GetAccName

func (b *BaseMessage) GetAccName() string

func (*BaseMessage) GetId

func (b *BaseMessage) GetId() int

func (*BaseMessage) SetAccName

func (b *BaseMessage) SetAccName(accname string)

func (*BaseMessage) SetId

func (b *BaseMessage) SetId(i int)

type BaseWorker

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

func (*BaseWorker) Close

func (bw *BaseWorker) Close()

func (*BaseWorker) PostMessage

func (bw *BaseWorker) PostMessage(m Message)

func (*BaseWorker) Responses

func (bw *BaseWorker) Responses() <-chan Message

type ClonableMessage

type ClonableMessage interface {
	Message
	Clone() Message
}

type ConnectImap

type ConnectImap struct {
	BaseMessage
}

type Database

type Database struct {
	*BaseWorker
	// contains filtered or unexported fields
}

func NewDatabase

func NewDatabase(l *lib.Logger) *Database

func (*Database) Run

func (d *Database) Run()

type Done

type Done struct {
	BaseMessage
}

type Error

type Error struct {
	BaseMessage
	Error error
}

type FetchFullMail

type FetchFullMail struct {
	BaseMessage
	Mailbox string
	Uid     uint32
}

type FetchFullMailRes

type FetchFullMailRes struct {
	BaseMessage
	Filepath string
	FromImap bool
}

type FetchMailbox

type FetchMailbox struct {
	BaseMessage
	Mailbox string
}

type FetchMailboxImapRes

type FetchMailboxImapRes struct {
	BaseMessage
	Mailbox string
	Mails   []*models.Mail
}

type FetchMailboxRes

type FetchMailboxRes struct {
	BaseMessage
	List        []*models.Thread
	LastSeenUid uint32
}

type FetchMailboxes

type FetchMailboxes struct {
	BaseMessage
}

func (*FetchMailboxes) Clone

func (m *FetchMailboxes) Clone() Message

type FetchMailboxesImapRes

type FetchMailboxesImapRes struct {
	BaseMessage
	Mailboxes []*models.Mailbox
}

type FetchMailboxesRes

type FetchMailboxesRes struct {
	BaseMessage
	Mailboxes []*models.Mailbox
}

type FetchMessageUpdates

type FetchMessageUpdates struct {
	BaseMessage
	Mailbox     string
	LastSeenUid uint32
}

type FetchMessageUpdatesRes

type FetchMessageUpdatesRes struct {
	BaseMessage
	Mailbox string
	Mails   []*models.Mail
}

type FetchNewMessages

type FetchNewMessages struct {
	BaseMessage
	Mailbox     string
	LastSeenUid uint32
}

type FetchNewMessagesRes

type FetchNewMessagesRes struct {
	BaseMessage
	Mailbox string
	Mails   []*models.Mail
}

type FetchThread

type FetchThread struct {
	BaseMessage
	RootId int
}

type FetchThreadRes

type FetchThreadRes struct {
	BaseMessage
	Mails []*models.Mail
}

type InsertNewMessages

type InsertNewMessages struct {
	BaseMessage
	Mailbox string
	Mails   []*models.Mail
}

type InsertNewMessagesRes

type InsertNewMessagesRes struct {
	BaseMessage
	Threads []*models.Thread
}

type Message

type Message interface {
	GetId() int
	SetId(i int)
	GetAccName() string
	SetAccName(accname string)
}

func WithId

func WithId(m Message, id int) Message

type MsgToDb

type MsgToDb struct {
	BaseMessage
	Wrapped Message
}

type SaveMailFlags

type SaveMailFlags struct {
	BaseMessage
	MailId int
	Flags  []string
}

type SendMail

type SendMail struct {
	BaseMessage
	Body io.Reader
}

type UpdateMessages

type UpdateMessages struct {
	BaseMessage
	Mailbox     string
	Mails       []*models.Mail
	LastSeenUid uint32
}

type UpdateMessagesRes

type UpdateMessagesRes struct {
	BaseMessage
	Threads []*models.Thread
}

type Worker

type Worker interface {
	Responses() <-chan Message
	PostMessage(m Message)
	Run()
	Close()
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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