summaryrefslogtreecommitdiffstats
path: root/messagebus
diff options
context:
space:
mode:
authorBjørn Christian Seime <bjorncs@verizonmedia.com>2022-01-25 10:46:09 +0100
committerBjørn Christian Seime <bjorncs@verizonmedia.com>2022-01-25 10:49:53 +0100
commit0c5400db597795c47ac054bb73fe268838383026 (patch)
tree109706b721c5aa73b047ed42c54619d0c96cba06 /messagebus
parent4c676c8e75393a4095307f269381158858b20e43 (diff)
Add disconnect() that unregisters session
Diffstat (limited to 'messagebus')
-rw-r--r--messagebus/abi-spec.json9
-rw-r--r--messagebus/src/main/java/com/yahoo/messagebus/Connectable.java1
-rw-r--r--messagebus/src/main/java/com/yahoo/messagebus/DestinationSession.java2
-rw-r--r--messagebus/src/main/java/com/yahoo/messagebus/IntermediateSession.java2
4 files changed, 11 insertions, 3 deletions
diff --git a/messagebus/abi-spec.json b/messagebus/abi-spec.json
index bff28986119..039f22c7525 100644
--- a/messagebus/abi-spec.json
+++ b/messagebus/abi-spec.json
@@ -73,7 +73,8 @@
"abstract"
],
"methods": [
- "public abstract void connect()"
+ "public abstract void connect()",
+ "public abstract void disconnect()"
],
"fields": []
},
@@ -96,7 +97,8 @@
"public java.lang.String getConnectionSpec()",
"public java.lang.String getName()",
"public void handleMessage(com.yahoo.messagebus.Message)",
- "public void connect()"
+ "public void connect()",
+ "public void disconnect()"
],
"fields": []
},
@@ -245,7 +247,8 @@
"public java.lang.String getName()",
"public void handleMessage(com.yahoo.messagebus.Message)",
"public void handleReply(com.yahoo.messagebus.Reply)",
- "public void connect()"
+ "public void connect()",
+ "public void disconnect()"
],
"fields": []
},
diff --git a/messagebus/src/main/java/com/yahoo/messagebus/Connectable.java b/messagebus/src/main/java/com/yahoo/messagebus/Connectable.java
index db8d926db43..354548a3cf3 100644
--- a/messagebus/src/main/java/com/yahoo/messagebus/Connectable.java
+++ b/messagebus/src/main/java/com/yahoo/messagebus/Connectable.java
@@ -9,5 +9,6 @@ package com.yahoo.messagebus;
public interface Connectable {
void connect();
+ void disconnect();
}
diff --git a/messagebus/src/main/java/com/yahoo/messagebus/DestinationSession.java b/messagebus/src/main/java/com/yahoo/messagebus/DestinationSession.java
index 509ea5903c5..10d1a93031d 100644
--- a/messagebus/src/main/java/com/yahoo/messagebus/DestinationSession.java
+++ b/messagebus/src/main/java/com/yahoo/messagebus/DestinationSession.java
@@ -130,4 +130,6 @@ public final class DestinationSession implements Connectable, MessageHandler {
mbus.connect(name, broadcastName);
}
+ @Override public void disconnect() { mbus.unregisterSession(name, broadcastName);; }
+
}
diff --git a/messagebus/src/main/java/com/yahoo/messagebus/IntermediateSession.java b/messagebus/src/main/java/com/yahoo/messagebus/IntermediateSession.java
index d5b7e045254..1473f40ef0a 100644
--- a/messagebus/src/main/java/com/yahoo/messagebus/IntermediateSession.java
+++ b/messagebus/src/main/java/com/yahoo/messagebus/IntermediateSession.java
@@ -119,4 +119,6 @@ public final class IntermediateSession implements MessageHandler, ReplyHandler,
mbus.connect(name, broadcastName);
}
+ @Override public void disconnect() { mbus.unregisterSession(name, broadcastName); }
+
}