memory

package
v0.0.0-...-b7ec3a6 Latest Latest
Warning

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

Go to latest
Published: Jan 8, 2023 License: MIT Imports: 16 Imported by: 0

Documentation

Overview

A memory backend.

Index

Constants

This section is empty.

Variables

View Source
var Delimiter = "."

Functions

This section is empty.

Types

type Backend

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

func New

func New() *Backend

func (*Backend) CreateUser

func (b *Backend) CreateUser(name string) error

func (*Backend) GetUser

func (b *Backend) GetUser(username string) (backend.User, error)

func (*Backend) Login

func (be *Backend) Login(_ *imap.ConnInfo, username, password string) (backend.User, error)

type Mailbox

type Mailbox struct {
	Subscribed   bool
	MessagesLock sync.RWMutex
	Messages     []*Message
	// contains filtered or unexported fields
}

func (*Mailbox) Info

func (mbox *Mailbox) Info() (*imap.MailboxInfo, error)

func (*Mailbox) Name

func (mbox *Mailbox) Name() string

type Message

type Message struct {
	Uid   uint32
	Date  time.Time
	Size  uint32
	Flags []string
	Body  []byte

	// XXX: Do not use directly.
	Recent bool
}

func (*Message) Fetch

func (m *Message) Fetch(seqNum uint32, items []imap.FetchItem, recentFlag bool) (*imap.Message, error)

func (*Message) Match

func (m *Message) Match(seqNum uint32, c *imap.SearchCriteria, recentFlag bool) (bool, error)

type SelectedMailbox

type SelectedMailbox struct {
	*Mailbox
	// contains filtered or unexported fields
}

func (*SelectedMailbox) Close

func (mbox *SelectedMailbox) Close() error

func (*SelectedMailbox) Conn

func (mbox *SelectedMailbox) Conn() backend.Conn

func (*SelectedMailbox) CopyMessages

func (mbox *SelectedMailbox) CopyMessages(uid bool, seqset *imap.SeqSet, destName string) error

func (*SelectedMailbox) Expunge

func (mbox *SelectedMailbox) Expunge() error

func (*SelectedMailbox) Idle

func (mbox *SelectedMailbox) Idle(done <-chan struct{})

func (*SelectedMailbox) ListMessages

func (mbox *SelectedMailbox) ListMessages(uid bool, seqSet *imap.SeqSet, items []imap.FetchItem, ch chan<- *imap.Message) error

func (*SelectedMailbox) Poll

func (mbox *SelectedMailbox) Poll(expunge bool) error

func (*SelectedMailbox) SearchMessages

func (mbox *SelectedMailbox) SearchMessages(uid bool, criteria *imap.SearchCriteria) ([]uint32, error)

func (*SelectedMailbox) UpdateMessagesFlags

func (mbox *SelectedMailbox) UpdateMessagesFlags(uid bool, seqset *imap.SeqSet, op imap.FlagsOp, silent bool, flags []string) error

type User

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

func (*User) CreateMailbox

func (u *User) CreateMailbox(name string) error

func (*User) CreateMessage

func (u *User) CreateMessage(mboxName string, flags []string, date time.Time, body imap.Literal, selMbox backend.Mailbox) error

func (*User) DeleteMailbox

func (u *User) DeleteMailbox(name string) error

func (*User) GetMailbox

func (u *User) GetMailbox(name string, readOnly bool, conn backend.Conn) (*imap.MailboxStatus, backend.Mailbox, error)

func (*User) ListMailboxes

func (u *User) ListMailboxes(subscribed bool) (info []imap.MailboxInfo, err error)

func (*User) Logout

func (u *User) Logout() error

func (*User) RenameMailbox

func (u *User) RenameMailbox(existingName, newName string) error

func (*User) SetSubscribed

func (u *User) SetSubscribed(name string, subscribed bool) error

func (*User) Status

func (u *User) Status(name string, items []imap.StatusItem) (*imap.MailboxStatus, error)

func (*User) Username

func (u *User) Username() string

Jump to

Keyboard shortcuts

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