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 3a0a14acb45aed08ed28dba1f45e485a9efb7ad7..aa11967a63ac3a13c1f4e30acb226e6a82900248 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 7538b14519953d8573b511143e67f0860b0270a6..cc87e1ab08eac9968cb83dd404f1e94d0b1f925f 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;