diff options
author | René 'Necoro' Neumann <necoro@necoro.eu> | 2020-05-03 02:19:40 +0200 |
---|---|---|
committer | René 'Necoro' Neumann <necoro@necoro.eu> | 2020-05-03 02:19:40 +0200 |
commit | d131d0dec6a6c7f0af3511bd908cda8a3d910237 (patch) | |
tree | 4ba7ecd8aaa33af989df7df314473fada493c3e3 /internal/imap/client.go | |
parent | 61d4fad5d989d5fca0ee32d8e5624fb444881efa (diff) | |
download | feed2imap-go-d131d0dec6a6c7f0af3511bd908cda8a3d910237.tar.gz feed2imap-go-d131d0dec6a6c7f0af3511bd908cda8a3d910237.tar.bz2 feed2imap-go-d131d0dec6a6c7f0af3511bd908cda8a3d910237.zip |
Use UIDPLUS Imap extension
Diffstat (limited to '')
-rw-r--r-- | internal/imap/client.go | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/internal/imap/client.go b/internal/imap/client.go index 24cc3f1..731e35b 100644 --- a/internal/imap/client.go +++ b/internal/imap/client.go @@ -1,6 +1,7 @@ package imap import ( + uidplus "github.com/emersion/go-imap-uidplus" imapClient "github.com/emersion/go-imap/client" "github.com/Necoro/feed2imap-go/pkg/log" @@ -37,19 +38,21 @@ func (client *Client) Disconnect() { } } -func (client *Client) createConnection(c *imapClient.Client) *connection { - if client.nextFreeIndex >= len(client.connections) { +func (cl *Client) createConnection(c *imapClient.Client) *connection { + if cl.nextFreeIndex >= len(cl.connections) { panic("Too many connections") } + client := &client{c, uidplus.NewClient(c)} + conn := &connection{ - connConf: &client.connConf, - mailboxes: client.mailboxes, - c: c, + connConf: &cl.connConf, + mailboxes: cl.mailboxes, + c: client, } - client.connections[client.nextFreeIndex] = conn - client.nextFreeIndex++ + cl.connections[cl.nextFreeIndex] = conn + cl.nextFreeIndex++ return conn } |