Documentation ¶
Overview ¶
Package fssacks implements a sacks.Sack on top of a POSIX-like directory.
Index ¶
Constants ¶
This section is empty.
Variables ¶
Functions ¶
Types ¶
type Cached ¶
type Cached struct { Valid bool // NOTE: encoding/gob does not support struct embedding LazyMessage *LazyMessage }
type Cacher ¶
type Cacher struct {
// contains filtered or unexported fields
}
func CacheAt ¶
CacheAt returns a Cacher caching on the filesystem at the specified location.
func (*Cacher) R ¶
func (c *Cacher) R() (io.ReadCloser, error)
func (*Cacher) W ¶
func (c *Cacher) W() (io.WriteCloser, error)
type LazyMessage ¶
type LazyMessage struct { // File* fields pertain to properties of a file on disk. FileName string FileSize int64 FileModtime time.Time Docket msgs.Docket MessageId msgs.MessageId QuickHeader QuickHeader }
func (*LazyMessage) Message ¶
Message returns a non-retained, freshly cloned msgs.Message.
func (*LazyMessage) Queryable ¶
func (lm *LazyMessage) Queryable(fsys vfs.FS) *queryable
func (*LazyMessage) View ¶
func (lm *LazyMessage) View(fsys vfs.FS) *MessageView
type MessageView ¶
type MessageView struct {
// contains filtered or unexported fields
}
func (*MessageView) DocketTKV ¶
func (view *MessageView) DocketTKV(k string) (msgs.TKV, error)
DocketTKV returns the most recent docket TKV with this key TODO replace LazyMessage's Docket with a QuickDocket which holds less information
func (*MessageView) Values ¶
func (view *MessageView) Values(k string) ([]string, error)
type QuickHeader ¶
type QuickHeader struct { MessageId []string Date []string From []string Sender []string To []string Cc []string Bcc []string Subject []string XBrief []string // [2023-12-07, jfrech] TODO Does this do anything? // Valid is a safety mechanism: a QuickHeader has to be consciously // set to be valid to dampen the dangers introduced by QuickHeader // being constructable anywhere. Valid bool }
A QuickHeader MUST contain all headers of the names in the struct, i.e. if requesting a net/textproto.MIMEHeader.Values(...), it must aid. TODO make private?
func (QuickHeader) FieldNames ¶
func (_ QuickHeader) FieldNames() []string
func (QuickHeader) UniqueMessageId ¶
func (qh QuickHeader) UniqueMessageId() (msgs.MessageId, error)
func (QuickHeader) Values ¶
func (qh QuickHeader) Values(k string) ([]string, bool)
type QuickHeaderBuilder ¶
type QuickHeaderBuilder struct {
// contains filtered or unexported fields
}
func (*QuickHeaderBuilder) Add ¶
func (qhb *QuickHeaderBuilder) Add(rawfield mailx.RawField) error
func (*QuickHeaderBuilder) QuickHeader ¶
func (qhb *QuickHeaderBuilder) QuickHeader() (QuickHeader, error)
type Shell ¶
Click to show internal directories.
Click to hide internal directories.