From 1fac8a4608207fa1b1c825f8cf3b11cd20054af4 Mon Sep 17 00:00:00 2001
From: bontric <benjohnwie@gmail.com>
Date: Tue, 25 Sep 2018 13:05:59 +0200
Subject: [PATCH] Add MailboxSession interface

---
 .../bramble/mailbox/AbstractMailboxSession.java      |  2 +-
 .../briarproject/bramble/mailbox/MailboxSession.java | 12 ++++++++++++
 2 files changed, 13 insertions(+), 1 deletion(-)
 create mode 100644 bramble-core/src/main/java/org/briarproject/bramble/mailbox/MailboxSession.java

diff --git a/bramble-core/src/main/java/org/briarproject/bramble/mailbox/AbstractMailboxSession.java b/bramble-core/src/main/java/org/briarproject/bramble/mailbox/AbstractMailboxSession.java
index 5d8b45d8d..76dc6cae8 100644
--- a/bramble-core/src/main/java/org/briarproject/bramble/mailbox/AbstractMailboxSession.java
+++ b/bramble-core/src/main/java/org/briarproject/bramble/mailbox/AbstractMailboxSession.java
@@ -35,7 +35,7 @@ import static org.briarproject.bramble.api.transport.TransportConstants.TAG_LENG
 import static org.briarproject.bramble.mailbox.protocol.MailboxMessage.TYPE.END;
 import static org.briarproject.bramble.mailbox.protocol.MailboxMessage.TYPE.SYNC;
 
-public abstract class AbstractMailboxSession implements Runnable {
+public abstract class AbstractMailboxSession implements MailboxSession {
 	private static final Logger LOG =
 			Logger.getLogger(AbstractMailboxSession.class.getName());
 	private final Executor ioExecutor;
diff --git a/bramble-core/src/main/java/org/briarproject/bramble/mailbox/MailboxSession.java b/bramble-core/src/main/java/org/briarproject/bramble/mailbox/MailboxSession.java
new file mode 100644
index 000000000..82ba19178
--- /dev/null
+++ b/bramble-core/src/main/java/org/briarproject/bramble/mailbox/MailboxSession.java
@@ -0,0 +1,12 @@
+package org.briarproject.bramble.mailbox;
+
+import java.io.IOException;
+
+public interface MailboxSession extends Runnable {
+	/**
+	 * Must be called once at the end of a AbstractMailboxSession to signal the end of
+	 * the session to the peer. This call blocks until the remote session
+	 * signals that it was ended.
+	 */
+	void endSession() throws IOException;
+}
-- 
GitLab