From cb4f20b6cafc94e1ea5d8ab65cce7d59610060f2 Mon Sep 17 00:00:00 2001 From: bontric <benjohnwie@gmail.com> Date: Thu, 20 Sep 2018 18:33:24 +0200 Subject: [PATCH] Add handling for contacts without a mailbox to mailbox manager --- .../bramble/api/mailbox/MailboxManager.java | 4 ++++ .../bramble/mailbox/MailboxManagerImpl.java | 13 ++++++++++++- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/bramble-api/src/main/java/org/briarproject/bramble/api/mailbox/MailboxManager.java b/bramble-api/src/main/java/org/briarproject/bramble/api/mailbox/MailboxManager.java index 3a0a14acb..aa11967a6 100644 --- a/bramble-api/src/main/java/org/briarproject/bramble/api/mailbox/MailboxManager.java +++ b/bramble-api/src/main/java/org/briarproject/bramble/api/mailbox/MailboxManager.java @@ -24,5 +24,9 @@ public interface MailboxManager { TransportId transportId, TransportConnectionReader reader, TransportConnectionWriter writer); + void handleInomingOwnerContactConnection(StreamContext ctx, + TransportId transportId, TransportConnectionReader reader, + TransportConnectionWriter writer); + void handleOwnerContactWithoutMailbox(MailboxInfo mailboxInfo); } diff --git a/bramble-core/src/main/java/org/briarproject/bramble/mailbox/MailboxManagerImpl.java b/bramble-core/src/main/java/org/briarproject/bramble/mailbox/MailboxManagerImpl.java index 7538b1451..cc87e1ab0 100644 --- a/bramble-core/src/main/java/org/briarproject/bramble/mailbox/MailboxManagerImpl.java +++ b/bramble-core/src/main/java/org/briarproject/bramble/mailbox/MailboxManagerImpl.java @@ -98,16 +98,27 @@ public class MailboxManagerImpl implements MailboxManager { ContactType.MAILBOX_OWNER)); } + @Override + public void handleInomingOwnerContactConnection(StreamContext ctx, + TransportId transportId, TransportConnectionReader reader, + TransportConnectionWriter writer){ + ioExecutor.execute( + new ManageMailboxConnection(ctx, transportId, reader, writer, + ContactType.MAILBOX_CONTACT) + ); + } + @Override public void handleOwnerContactWithoutMailbox(MailboxInfo mailboxInfo) { if (null == privateMailboxSession) return; ioExecutor.execute( - () -> privateMailboxSession.handleOwnerContact(mailboxInfo)); + () -> privateMailboxSession.handleContactWithoutPrivateMailbox(mailboxInfo)); } + private class ManageMailboxConnection implements Runnable { private boolean incoming; -- GitLab