diff options
author | René 'Necoro' Neumann <necoro@necoro.eu> | 2020-04-23 20:48:17 +0200 |
---|---|---|
committer | René 'Necoro' Neumann <necoro@necoro.eu> | 2020-04-23 20:48:17 +0200 |
commit | c883470c2ef977b8675b12428591bb003694e235 (patch) | |
tree | 09cd8fa950594e1ea13aa52492ce8116e07ef30b /internal/imap/mailboxes.go | |
parent | 6bd87a567ef481b922f6baec2b475ec376c45443 (diff) | |
download | feed2imap-go-c883470c2ef977b8675b12428591bb003694e235.tar.gz feed2imap-go-c883470c2ef977b8675b12428591bb003694e235.tar.bz2 feed2imap-go-c883470c2ef977b8675b12428591bb003694e235.zip |
Restructure imap pkg
Diffstat (limited to 'internal/imap/mailboxes.go')
-rw-r--r-- | internal/imap/mailboxes.go | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/internal/imap/mailboxes.go b/internal/imap/mailboxes.go new file mode 100644 index 0000000..d0fdede --- /dev/null +++ b/internal/imap/mailboxes.go @@ -0,0 +1,34 @@ +package imap + +import ( + "sync" + + "github.com/emersion/go-imap" +) + +type mailboxes struct { + mb map[string]*imap.MailboxInfo + mu sync.RWMutex +} + +func (mbs *mailboxes) contains(elem Folder) bool { + mbs.mu.RLock() + defer mbs.mu.RUnlock() + + _, ok := mbs.mb[elem.str] + return ok +} + +func (mbs *mailboxes) add(elem *imap.MailboxInfo) { + mbs.mu.Lock() + defer mbs.mu.Unlock() + + mbs.mb[elem.Name] = elem +} + +func NewMailboxes() *mailboxes { + return &mailboxes{ + mb: map[string]*imap.MailboxInfo{}, + mu: sync.RWMutex{}, + } +}
\ No newline at end of file |