You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mina.apache.org by ra...@apache.org on 2019/09/01 16:12:30 UTC

[mina-vysper] branch master updated: Rename StanzaReceivingSessionContext to InternalSessionContext

This is an automated email from the ASF dual-hosted git repository.

ralaoui pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/mina-vysper.git


The following commit(s) were added to refs/heads/master by this push:
     new b6a4d68  Rename StanzaReceivingSessionContext to InternalSessionContext
b6a4d68 is described below

commit b6a4d68247458c85ac25350d5325073d43e5dbe2
Author: Réda Housni Alaoui <re...@gmail.com>
AuthorDate: Sun Sep 1 18:12:22 2019 +0200

    Rename StanzaReceivingSessionContext to InternalSessionContext
---
 .../apache/vysper/mina/XmppIoHandlerAdapter.java   | 12 ++++++------
 .../vysper/xmpp/delivery/RecordingStanzaRelay.java |  4 ++--
 .../vysper/xmpp/delivery/StanzaReceiverRelay.java  |  8 +++-----
 .../apache/vysper/xmpp/delivery/StanzaRelay.java   |  5 ++---
 .../vysper/xmpp/delivery/StanzaRelayBroker.java    |  4 ++--
 .../DeliveringExternalInboundStanzaRelay.java      |  4 ++--
 .../DeliveringInternalInboundStanzaRelay.java      | 21 ++++++++++-----------
 .../vysper/xmpp/protocol/ProtocolWorker.java       | 12 ++++++------
 .../xmpp/protocol/QueuedStanzaProcessor.java       | 14 +++++++-------
 .../vysper/xmpp/protocol/ResponseWriter.java       | 16 +++++++---------
 .../vysper/xmpp/protocol/SimpleStanzaBroker.java   |  6 +++---
 .../xmpp/protocol/SimpleStanzaHandlerExecutor.java |  4 ++--
 .../xmpp/protocol/StanzaHandlerExecutor.java       |  4 ++--
 .../vysper/xmpp/protocol/StanzaProcessor.java      |  7 +++----
 .../xmpp/protocol/StateAwareProtocolWorker.java    |  6 +++---
 .../worker/AbstractStateAwareProtocolWorker.java   | 15 +++++++--------
 .../worker/AuthenticatedProtocolWorker.java        |  4 ++--
 .../protocol/worker/EncryptedProtocolWorker.java   |  4 ++--
 .../worker/EncryptionStartedProtocolWorker.java    |  4 ++--
 .../protocol/worker/EndOrClosedProtocolWorker.java |  4 ++--
 .../protocol/worker/InitiatedProtocolWorker.java   |  4 ++--
 .../protocol/worker/StartedProtocolWorker.java     |  6 +++---
 .../protocol/worker/UnconnectedProtocolWorker.java |  4 ++--
 .../vysper/xmpp/server/AbstractSessionContext.java |  2 +-
 ...ionContext.java => InternalSessionContext.java} |  4 +++-
 .../components/ComponentStanzaProcessor.java       |  8 ++++----
 .../resourcebinding/DefaultResourceRegistry.java   | 22 +++++++++++-----------
 .../resourcebinding/InternalResourceRegistry.java  | 10 +++++-----
 .../state/resourcebinding/ResourceRegistry.java    |  4 ++--
 .../xmpp/delivery/StanzaRelayBrokerTestCase.java   |  4 ++--
 ...liveringExternalInboundStanzaRelayTestCase.java |  5 ++---
 ...eliveringInteralInboundStanzaRelayTestCase.java |  6 ++----
 .../handler/DiscoInfoIQHandlerTestCase.java        |  4 ++--
 .../handler/ExtendedDiscoInfoTestCase.java         |  4 ++--
 .../ComponentStanzaProcessorTestCase.java          |  5 ++---
 .../resourcebinding/ResourceRegistryTestCase.java  |  8 ++++----
 .../websockets/JettyXmppWebSocketTest.java         |  5 ++---
 .../websockets/TomcatXmppWebSocketTest.java        |  5 ++---
 .../xmpp/extension/xep0124/BoshHandlerTest.java    |  3 ---
 39 files changed, 128 insertions(+), 143 deletions(-)

diff --git a/server/core/src/main/java/org/apache/vysper/mina/XmppIoHandlerAdapter.java b/server/core/src/main/java/org/apache/vysper/mina/XmppIoHandlerAdapter.java
index 3ae94a7..6988b3f 100644
--- a/server/core/src/main/java/org/apache/vysper/mina/XmppIoHandlerAdapter.java
+++ b/server/core/src/main/java/org/apache/vysper/mina/XmppIoHandlerAdapter.java
@@ -34,7 +34,7 @@ import org.apache.vysper.xmpp.protocol.StreamErrorCondition;
 import org.apache.vysper.xmpp.server.ServerRuntimeContext;
 import org.apache.vysper.xmpp.server.SessionContext;
 import org.apache.vysper.xmpp.server.SessionContext.SessionTerminationCause;
-import org.apache.vysper.xmpp.server.StanzaReceivingSessionContext;
+import org.apache.vysper.xmpp.server.InternalSessionContext;
 import org.apache.vysper.xmpp.server.response.ServerErrorResponses;
 import org.apache.vysper.xmpp.stanza.Stanza;
 import org.slf4j.Logger;
@@ -80,15 +80,15 @@ public class XmppIoHandlerAdapter implements IoHandler {
         }
 
         Stanza stanza = (Stanza) message;
-        StanzaReceivingSessionContext session = extractSession(ioSession);
+        InternalSessionContext session = extractSession(ioSession);
         SessionStateHolder stateHolder = (SessionStateHolder) ioSession
                 .getAttribute(ATTRIBUTE_VYSPER_SESSIONSTATEHOLDER);
 
         stanzaProcessor.processStanza(serverRuntimeContext, session, stanza, stateHolder);
     }
 
-    private StanzaReceivingSessionContext extractSession(IoSession ioSession) {
-        return (StanzaReceivingSessionContext) ioSession.getAttribute(ATTRIBUTE_VYSPER_SESSION);
+    private InternalSessionContext extractSession(IoSession ioSession) {
+        return (InternalSessionContext) ioSession.getAttribute(ATTRIBUTE_VYSPER_SESSION);
     }
 
     @Override
@@ -104,7 +104,7 @@ public class XmppIoHandlerAdapter implements IoHandler {
     @Override
     public void event(IoSession ioSession, FilterEvent event) throws Exception {
         if (event == SslEvent.SECURED) {
-            StanzaReceivingSessionContext session = extractSession(ioSession);
+            InternalSessionContext session = extractSession(ioSession);
             SessionStateHolder stateHolder = (SessionStateHolder) ioSession
                     .getAttribute(ATTRIBUTE_VYSPER_SESSIONSTATEHOLDER);
             stanzaProcessor.processTLSEstablished(session, stateHolder);
@@ -149,7 +149,7 @@ public class XmppIoHandlerAdapter implements IoHandler {
 
     @Override
     public void exceptionCaught(IoSession ioSession, Throwable throwable) throws Exception {
-        StanzaReceivingSessionContext sessionContext = extractSession(ioSession);
+        InternalSessionContext sessionContext = extractSession(ioSession);
 
         // Assume that the connection was aborted for now. Might be different depending
         // on
diff --git a/server/core/src/main/java/org/apache/vysper/xmpp/delivery/RecordingStanzaRelay.java b/server/core/src/main/java/org/apache/vysper/xmpp/delivery/RecordingStanzaRelay.java
index 6030527..d804b59 100644
--- a/server/core/src/main/java/org/apache/vysper/xmpp/delivery/RecordingStanzaRelay.java
+++ b/server/core/src/main/java/org/apache/vysper/xmpp/delivery/RecordingStanzaRelay.java
@@ -27,7 +27,7 @@ import org.apache.vysper.xmpp.addressing.Entity;
 import org.apache.vysper.xmpp.delivery.failure.DeliveryException;
 import org.apache.vysper.xmpp.delivery.failure.DeliveryFailureStrategy;
 import org.apache.vysper.xmpp.delivery.failure.ServiceNotAvailableException;
-import org.apache.vysper.xmpp.server.StanzaReceivingSessionContext;
+import org.apache.vysper.xmpp.server.InternalSessionContext;
 import org.apache.vysper.xmpp.stanza.Stanza;
 
 /**
@@ -43,7 +43,7 @@ public class RecordingStanzaRelay implements StanzaRelay {
 
     protected final AtomicBoolean isRelaying = new AtomicBoolean(true);
 
-    public void relay(StanzaReceivingSessionContext sessionContext, Entity receiver, Stanza stanza, DeliveryFailureStrategy deliveryFailureStrategy)
+    public void relay(InternalSessionContext sessionContext, Entity receiver, Stanza stanza, DeliveryFailureStrategy deliveryFailureStrategy)
             throws DeliveryException {
         if (!isRelaying()) throw new ServiceNotAvailableException("recording stanza relay is not relaying");
         entityStanzaPairs.add(new Triple(receiver, stanza, deliveryFailureStrategy));
diff --git a/server/core/src/main/java/org/apache/vysper/xmpp/delivery/StanzaReceiverRelay.java b/server/core/src/main/java/org/apache/vysper/xmpp/delivery/StanzaReceiverRelay.java
index 3af179c..336e577 100644
--- a/server/core/src/main/java/org/apache/vysper/xmpp/delivery/StanzaReceiverRelay.java
+++ b/server/core/src/main/java/org/apache/vysper/xmpp/delivery/StanzaReceiverRelay.java
@@ -19,11 +19,9 @@
  */
 package org.apache.vysper.xmpp.delivery;
 
-import java.util.Collection;
 import java.util.HashMap;
 import java.util.Map;
 import java.util.Objects;
-import java.util.Set;
 import java.util.concurrent.atomic.AtomicBoolean;
 
 import org.apache.vysper.xmpp.addressing.Entity;
@@ -32,7 +30,7 @@ import org.apache.vysper.xmpp.delivery.failure.DeliveryFailureStrategy;
 import org.apache.vysper.xmpp.delivery.failure.LocalRecipientOfflineException;
 import org.apache.vysper.xmpp.delivery.failure.ServiceNotAvailableException;
 import org.apache.vysper.xmpp.server.ServerRuntimeContext;
-import org.apache.vysper.xmpp.server.StanzaReceivingSessionContext;
+import org.apache.vysper.xmpp.server.InternalSessionContext;
 import org.apache.vysper.xmpp.stanza.Stanza;
 
 /**
@@ -63,8 +61,8 @@ public class StanzaReceiverRelay implements StanzaRelay {
         receiverMap.put(receiverID, receiver);
     }
 
-    public void relay(StanzaReceivingSessionContext sessionContext, Entity receiver, Stanza stanza,
-            DeliveryFailureStrategy deliveryFailureStrategy) throws DeliveryException {
+    public void relay(InternalSessionContext sessionContext, Entity receiver, Stanza stanza,
+					  DeliveryFailureStrategy deliveryFailureStrategy) throws DeliveryException {
         if (!isRelaying()) {
             throw new ServiceNotAvailableException("relay is not relaying");
         }
diff --git a/server/core/src/main/java/org/apache/vysper/xmpp/delivery/StanzaRelay.java b/server/core/src/main/java/org/apache/vysper/xmpp/delivery/StanzaRelay.java
index 72f54e9..e5d6ee9 100644
--- a/server/core/src/main/java/org/apache/vysper/xmpp/delivery/StanzaRelay.java
+++ b/server/core/src/main/java/org/apache/vysper/xmpp/delivery/StanzaRelay.java
@@ -23,8 +23,7 @@ package org.apache.vysper.xmpp.delivery;
 import org.apache.vysper.xmpp.addressing.Entity;
 import org.apache.vysper.xmpp.delivery.failure.DeliveryException;
 import org.apache.vysper.xmpp.delivery.failure.DeliveryFailureStrategy;
-import org.apache.vysper.xmpp.server.SessionContext;
-import org.apache.vysper.xmpp.server.StanzaReceivingSessionContext;
+import org.apache.vysper.xmpp.server.InternalSessionContext;
 import org.apache.vysper.xmpp.stanza.Stanza;
 
 /**
@@ -48,7 +47,7 @@ public interface StanzaRelay {
      * @throws DeliveryException
      *             error while relaying
      */
-    void relay(StanzaReceivingSessionContext sessionContext, Entity receiver, Stanza stanza,
+    void relay(InternalSessionContext sessionContext, Entity receiver, Stanza stanza,
 			   DeliveryFailureStrategy deliveryFailureStrategy) throws DeliveryException;
 
     /**
diff --git a/server/core/src/main/java/org/apache/vysper/xmpp/delivery/StanzaRelayBroker.java b/server/core/src/main/java/org/apache/vysper/xmpp/delivery/StanzaRelayBroker.java
index a365467..c2342a3 100644
--- a/server/core/src/main/java/org/apache/vysper/xmpp/delivery/StanzaRelayBroker.java
+++ b/server/core/src/main/java/org/apache/vysper/xmpp/delivery/StanzaRelayBroker.java
@@ -25,7 +25,7 @@ import org.apache.vysper.xmpp.delivery.failure.DeliveryException;
 import org.apache.vysper.xmpp.delivery.failure.DeliveryFailureStrategy;
 import org.apache.vysper.xmpp.delivery.failure.ServiceNotAvailableException;
 import org.apache.vysper.xmpp.server.ServerRuntimeContext;
-import org.apache.vysper.xmpp.server.StanzaReceivingSessionContext;
+import org.apache.vysper.xmpp.server.InternalSessionContext;
 import org.apache.vysper.xmpp.server.resources.ManagedThreadPool;
 import org.apache.vysper.xmpp.stanza.Stanza;
 
@@ -68,7 +68,7 @@ public class StanzaRelayBroker implements StanzaRelay {
         this.serverRuntimeContext = serverRuntimeContext;
     }
 
-    public void relay(StanzaReceivingSessionContext sessionContext, Entity receiver, Stanza stanza, DeliveryFailureStrategy deliveryFailureStrategy)
+    public void relay(InternalSessionContext sessionContext, Entity receiver, Stanza stanza, DeliveryFailureStrategy deliveryFailureStrategy)
             throws DeliveryException {
         
         if (!isRelaying()) {
diff --git a/server/core/src/main/java/org/apache/vysper/xmpp/delivery/inbound/DeliveringExternalInboundStanzaRelay.java b/server/core/src/main/java/org/apache/vysper/xmpp/delivery/inbound/DeliveringExternalInboundStanzaRelay.java
index 95ef94b..1fdd138 100644
--- a/server/core/src/main/java/org/apache/vysper/xmpp/delivery/inbound/DeliveringExternalInboundStanzaRelay.java
+++ b/server/core/src/main/java/org/apache/vysper/xmpp/delivery/inbound/DeliveringExternalInboundStanzaRelay.java
@@ -39,7 +39,7 @@ import org.apache.vysper.xmpp.delivery.failure.DeliveryFailureStrategy;
 import org.apache.vysper.xmpp.delivery.failure.ServiceNotAvailableException;
 import org.apache.vysper.xmpp.protocol.NamespaceURIs;
 import org.apache.vysper.xmpp.server.ServerRuntimeContext;
-import org.apache.vysper.xmpp.server.StanzaReceivingSessionContext;
+import org.apache.vysper.xmpp.server.InternalSessionContext;
 import org.apache.vysper.xmpp.server.resources.ManagedThreadPool;
 import org.apache.vysper.xmpp.server.resources.ManagedThreadPoolUtil;
 import org.apache.vysper.xmpp.server.s2s.XMPPServerConnector;
@@ -137,7 +137,7 @@ public class DeliveringExternalInboundStanzaRelay implements StanzaRelay, Manage
         lastCompleted = completedTaskCount;
     }
 
-    public void relay(StanzaReceivingSessionContext sessionContext, Entity receiver, Stanza stanza, DeliveryFailureStrategy deliveryFailureStrategy)
+    public void relay(InternalSessionContext sessionContext, Entity receiver, Stanza stanza, DeliveryFailureStrategy deliveryFailureStrategy)
             throws DeliveryException {
         
         if (!isRelaying()) {
diff --git a/server/core/src/main/java/org/apache/vysper/xmpp/delivery/inbound/DeliveringInternalInboundStanzaRelay.java b/server/core/src/main/java/org/apache/vysper/xmpp/delivery/inbound/DeliveringInternalInboundStanzaRelay.java
index 8c4b502..6b71fe0 100644
--- a/server/core/src/main/java/org/apache/vysper/xmpp/delivery/inbound/DeliveringInternalInboundStanzaRelay.java
+++ b/server/core/src/main/java/org/apache/vysper/xmpp/delivery/inbound/DeliveringInternalInboundStanzaRelay.java
@@ -53,7 +53,7 @@ import org.apache.vysper.xmpp.protocol.StanzaProcessor;
 import org.apache.vysper.xmpp.protocol.worker.InboundStanzaProtocolWorker;
 import org.apache.vysper.xmpp.server.ServerRuntimeContext;
 import org.apache.vysper.xmpp.server.SessionState;
-import org.apache.vysper.xmpp.server.StanzaReceivingSessionContext;
+import org.apache.vysper.xmpp.server.InternalSessionContext;
 import org.apache.vysper.xmpp.server.components.ComponentRegistry;
 import org.apache.vysper.xmpp.server.resources.ManagedThreadPool;
 import org.apache.vysper.xmpp.server.resources.ManagedThreadPoolUtil;
@@ -64,7 +64,6 @@ import org.apache.vysper.xmpp.stanza.PresenceStanza;
 import org.apache.vysper.xmpp.stanza.Stanza;
 import org.apache.vysper.xmpp.stanza.XMPPCoreStanza;
 import org.apache.vysper.xmpp.state.resourcebinding.InternalResourceRegistry;
-import org.apache.vysper.xmpp.state.resourcebinding.ResourceRegistry;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -194,8 +193,8 @@ public class DeliveringInternalInboundStanzaRelay implements StanzaRelay, Manage
         lastCompleted = completedTaskCount;
     }
 
-    public void relay(StanzaReceivingSessionContext sessionContext, Entity receiver, Stanza stanza,
-            DeliveryFailureStrategy deliveryFailureStrategy) throws DeliveryException {
+    public void relay(InternalSessionContext sessionContext, Entity receiver, Stanza stanza,
+                      DeliveryFailureStrategy deliveryFailureStrategy) throws DeliveryException {
         if (!isRelaying()) {
             throw new ServiceNotAvailableException("internal inbound relay is not relaying");
         }
@@ -215,7 +214,7 @@ public class DeliveringInternalInboundStanzaRelay implements StanzaRelay, Manage
     }
 
     private class Relay implements Callable<RelayResult> {
-        private final StanzaReceivingSessionContext sessionContext;
+        private final InternalSessionContext sessionContext;
 
         private final Entity receiver;
 
@@ -225,8 +224,8 @@ public class DeliveringInternalInboundStanzaRelay implements StanzaRelay, Manage
 
         protected final UnmodifyableSessionStateHolder sessionStateHolder = new UnmodifyableSessionStateHolder();
 
-        Relay(StanzaReceivingSessionContext sessionContext, Entity receiver, Stanza stanza,
-                DeliveryFailureStrategy deliveryFailureStrategy) {
+        Relay(InternalSessionContext sessionContext, Entity receiver, Stanza stanza,
+              DeliveryFailureStrategy deliveryFailureStrategy) {
             this.sessionContext = sessionContext;
             this.receiver = receiver;
             this.stanza = stanza;
@@ -392,7 +391,7 @@ public class DeliveringInternalInboundStanzaRelay implements StanzaRelay, Manage
         }
 
         protected RelayResult relayToBestSessions(final boolean fallbackToBareJIDAllowed) {
-            List<StanzaReceivingSessionContext> receivingSessions = resourceRegistry.getHighestPrioSessions(receiver,
+            List<InternalSessionContext> receivingSessions = resourceRegistry.getHighestPrioSessions(receiver,
                     PRIO_THRESHOLD);
 
             if (receivingSessions.size() == 0 && receiver.isResourceSet() && fallbackToBareJIDAllowed) {
@@ -406,7 +405,7 @@ public class DeliveringInternalInboundStanzaRelay implements StanzaRelay, Manage
             }
 
             RelayResult relayResult = new RelayResult();
-            for (StanzaReceivingSessionContext receivingSession : receivingSessions) {
+            for (InternalSessionContext receivingSession : receivingSessions) {
                 if (receivingSession.getState() != SessionState.AUTHENTICATED) {
                     relayResult.addProcessingError(new DeliveryException("no relay to non-authenticated sessions"));
                     continue;
@@ -430,7 +429,7 @@ public class DeliveringInternalInboundStanzaRelay implements StanzaRelay, Manage
 
         protected RelayResult relayToAllSessions(Integer prioThreshold) {
 
-            List<StanzaReceivingSessionContext> receivingSessions = prioThreshold == null
+            List<InternalSessionContext> receivingSessions = prioThreshold == null
                     ? resourceRegistry.getSessions(receiver)
                     : resourceRegistry.getSessions(receiver, prioThreshold);
 
@@ -444,7 +443,7 @@ public class DeliveringInternalInboundStanzaRelay implements StanzaRelay, Manage
 
             RelayResult relayResult = new RelayResult();
 
-            for (StanzaReceivingSessionContext sessionContext : receivingSessions) {
+            for (InternalSessionContext sessionContext : receivingSessions) {
                 if (sessionContext.getState() != SessionState.AUTHENTICATED) {
                     relayResult.addProcessingError(new DeliveryException("no relay to non-authenticated sessions"));
                     continue;
diff --git a/server/core/src/main/java/org/apache/vysper/xmpp/protocol/ProtocolWorker.java b/server/core/src/main/java/org/apache/vysper/xmpp/protocol/ProtocolWorker.java
index 51a7e60..e9139ce 100644
--- a/server/core/src/main/java/org/apache/vysper/xmpp/protocol/ProtocolWorker.java
+++ b/server/core/src/main/java/org/apache/vysper/xmpp/protocol/ProtocolWorker.java
@@ -36,7 +36,7 @@ import org.apache.vysper.xmpp.protocol.worker.StartedProtocolWorker;
 import org.apache.vysper.xmpp.protocol.worker.UnconnectedProtocolWorker;
 import org.apache.vysper.xmpp.server.ServerRuntimeContext;
 import org.apache.vysper.xmpp.server.SessionState;
-import org.apache.vysper.xmpp.server.StanzaReceivingSessionContext;
+import org.apache.vysper.xmpp.server.InternalSessionContext;
 import org.apache.vysper.xmpp.server.response.ServerErrorResponses;
 import org.apache.vysper.xmpp.stanza.Stanza;
 import org.apache.vysper.xmpp.stanza.StanzaBuilder;
@@ -85,8 +85,8 @@ public class ProtocolWorker implements StanzaProcessor {
      * @param stanza
      * @param sessionStateHolder
      */
-    public void processStanza(ServerRuntimeContext serverRuntimeContext, StanzaReceivingSessionContext sessionContext, Stanza stanza,
-                              SessionStateHolder sessionStateHolder) {
+    public void processStanza(ServerRuntimeContext serverRuntimeContext, InternalSessionContext sessionContext, Stanza stanza,
+							  SessionStateHolder sessionStateHolder) {
         if (stanza == null)
             throw new RuntimeException("cannot process NULL stanzas");
 
@@ -197,12 +197,12 @@ public class ProtocolWorker implements StanzaProcessor {
         }
     }
 
-    public void processTLSEstablished(StanzaReceivingSessionContext sessionContext, SessionStateHolder sessionStateHolder) {
+    public void processTLSEstablished(InternalSessionContext sessionContext, SessionStateHolder sessionStateHolder) {
         processTLSEstablishedInternal(sessionContext, sessionStateHolder, responseWriter);
     }
 
-    static void processTLSEstablishedInternal(StanzaReceivingSessionContext sessionContext, SessionStateHolder sessionStateHolder,
-                                              ResponseWriter responseWriter) {
+    static void processTLSEstablishedInternal(InternalSessionContext sessionContext, SessionStateHolder sessionStateHolder,
+											  ResponseWriter responseWriter) {
         if (sessionContext.getState() != SessionState.ENCRYPTION_STARTED) {
             responseWriter.handleProtocolError(new TLSException(), sessionContext, null);
             return;
diff --git a/server/core/src/main/java/org/apache/vysper/xmpp/protocol/QueuedStanzaProcessor.java b/server/core/src/main/java/org/apache/vysper/xmpp/protocol/QueuedStanzaProcessor.java
index 9739189..227f316 100644
--- a/server/core/src/main/java/org/apache/vysper/xmpp/protocol/QueuedStanzaProcessor.java
+++ b/server/core/src/main/java/org/apache/vysper/xmpp/protocol/QueuedStanzaProcessor.java
@@ -25,7 +25,7 @@ import java.util.concurrent.ThreadPoolExecutor;
 import java.util.concurrent.TimeUnit;
 
 import org.apache.vysper.xmpp.server.ServerRuntimeContext;
-import org.apache.vysper.xmpp.server.StanzaReceivingSessionContext;
+import org.apache.vysper.xmpp.server.InternalSessionContext;
 import org.apache.vysper.xmpp.stanza.Stanza;
 
 /**
@@ -52,26 +52,26 @@ public class QueuedStanzaProcessor implements StanzaProcessor {
         this.stanzaProcessor = stanzaProcessor;
     }
 
-    public void processStanza(ServerRuntimeContext serverRuntimeContext, StanzaReceivingSessionContext sessionContext,
+    public void processStanza(ServerRuntimeContext serverRuntimeContext, InternalSessionContext sessionContext,
             Stanza stanza, SessionStateHolder sessionStateHolder) {
         executor.submit(new StanzaProcessorUnitOfWork(sessionContext, stanza, sessionStateHolder));
     }
 
-    public void processTLSEstablished(StanzaReceivingSessionContext sessionContext,
-            SessionStateHolder sessionStateHolder) {
+    public void processTLSEstablished(InternalSessionContext sessionContext,
+									  SessionStateHolder sessionStateHolder) {
         ProtocolWorker.processTLSEstablishedInternal(sessionContext, sessionStateHolder, responseWriter);
     }
 
     private class StanzaProcessorUnitOfWork implements Runnable {
 
-        private StanzaReceivingSessionContext sessionContext;
+        private InternalSessionContext sessionContext;
 
         private Stanza stanza;
 
         private SessionStateHolder sessionStateHolder;
 
-        private StanzaProcessorUnitOfWork(StanzaReceivingSessionContext sessionContext, Stanza stanza,
-                SessionStateHolder sessionStateHolder) {
+        private StanzaProcessorUnitOfWork(InternalSessionContext sessionContext, Stanza stanza,
+										  SessionStateHolder sessionStateHolder) {
             this.sessionContext = sessionContext;
             this.stanza = stanza;
             this.sessionStateHolder = sessionStateHolder;
diff --git a/server/core/src/main/java/org/apache/vysper/xmpp/protocol/ResponseWriter.java b/server/core/src/main/java/org/apache/vysper/xmpp/protocol/ResponseWriter.java
index d47b230..adf3e9e 100644
--- a/server/core/src/main/java/org/apache/vysper/xmpp/protocol/ResponseWriter.java
+++ b/server/core/src/main/java/org/apache/vysper/xmpp/protocol/ResponseWriter.java
@@ -19,10 +19,8 @@
  */
 package org.apache.vysper.xmpp.protocol;
 
-import org.apache.vysper.xmpp.parser.ParsingErrorCondition;
-import org.apache.vysper.xmpp.parser.ParsingException;
 import org.apache.vysper.xmpp.server.SessionContext;
-import org.apache.vysper.xmpp.server.StanzaReceivingSessionContext;
+import org.apache.vysper.xmpp.server.InternalSessionContext;
 import org.apache.vysper.xmpp.server.XMPPVersion;
 import org.apache.vysper.xmpp.server.response.ServerErrorResponses;
 import org.apache.vysper.xmpp.server.response.ServerResponses;
@@ -38,7 +36,7 @@ import org.apache.vysper.xmpp.stanza.XMPPCoreStanza;
  */
 public class ResponseWriter {
 
-    public static void writeUnsupportedStanzaError(StanzaReceivingSessionContext sessionContext) {
+    public static void writeUnsupportedStanzaError(InternalSessionContext sessionContext) {
 
         Stanza errorStanza = ServerErrorResponses.getStreamError(StreamErrorCondition.UNSUPPORTED_STANZA_TYPE,
                 sessionContext.getXMLLang(), "service unavailable at this session state", null);
@@ -48,7 +46,7 @@ public class ResponseWriter {
         writeErrorAndClose(sessionContext, streamOpener);
     }
 
-    public static void handleProtocolError(ProtocolException protocolException, StanzaReceivingSessionContext sessionContext,
+    public static void handleProtocolError(ProtocolException protocolException, InternalSessionContext sessionContext,
                                            Stanza receivedStanza) {
         Stanza errorStanza = null;
         if (protocolException != null)
@@ -61,19 +59,19 @@ public class ResponseWriter {
         writeErrorAndClose(sessionContext, errorStanza);
     }
 
-    public void handleUnsupportedStanzaType(StanzaReceivingSessionContext sessionContext, Stanza receivedStanza) {
+    public void handleUnsupportedStanzaType(InternalSessionContext sessionContext, Stanza receivedStanza) {
         Stanza errorStanza = ServerErrorResponses.getStreamError(StreamErrorCondition.UNSUPPORTED_STANZA_TYPE,
                 sessionContext.getXMLLang(), "could not process incoming stanza", receivedStanza);
         writeErrorAndClose(sessionContext, errorStanza);
     }
 
-    public void handleNotAuthorized(StanzaReceivingSessionContext sessionContext, Stanza receivedStanza) {
+    public void handleNotAuthorized(InternalSessionContext sessionContext, Stanza receivedStanza) {
         Stanza errorStanza = ServerErrorResponses.getStreamError(StreamErrorCondition.NOT_AUTHORIZED,
                 sessionContext.getXMLLang(), "could not process incoming stanza", receivedStanza);
         writeErrorAndClose(sessionContext, errorStanza);
     }
 
-    public void handleWrongFromJID(StanzaReceivingSessionContext sessionContext, Stanza receivedStanza) {
+    public void handleWrongFromJID(InternalSessionContext sessionContext, Stanza receivedStanza) {
         XMPPCoreStanza receivedCoreStanza = XMPPCoreStanza.getWrapper(receivedStanza);
         if (receivedCoreStanza == null) {
             handleNotAuthorized(sessionContext, receivedStanza);
@@ -86,7 +84,7 @@ public class ResponseWriter {
         sessionContext.getResponseWriter().write(errorStanza);
     }
 
-    public static void writeErrorAndClose(StanzaReceivingSessionContext sessionContext, Stanza errorStanza) {
+    public static void writeErrorAndClose(InternalSessionContext sessionContext, Stanza errorStanza) {
         sessionContext.getResponseWriter().write(errorStanza);
         sessionContext.endSession(SessionContext.SessionTerminationCause.STREAM_ERROR);
     }
diff --git a/server/core/src/main/java/org/apache/vysper/xmpp/protocol/SimpleStanzaBroker.java b/server/core/src/main/java/org/apache/vysper/xmpp/protocol/SimpleStanzaBroker.java
index 6404ba0..f52c2f6 100644
--- a/server/core/src/main/java/org/apache/vysper/xmpp/protocol/SimpleStanzaBroker.java
+++ b/server/core/src/main/java/org/apache/vysper/xmpp/protocol/SimpleStanzaBroker.java
@@ -25,7 +25,7 @@ import org.apache.vysper.xmpp.addressing.Entity;
 import org.apache.vysper.xmpp.delivery.StanzaRelay;
 import org.apache.vysper.xmpp.delivery.failure.DeliveryException;
 import org.apache.vysper.xmpp.delivery.failure.DeliveryFailureStrategy;
-import org.apache.vysper.xmpp.server.StanzaReceivingSessionContext;
+import org.apache.vysper.xmpp.server.InternalSessionContext;
 import org.apache.vysper.xmpp.stanza.Stanza;
 
 /**
@@ -35,9 +35,9 @@ public class SimpleStanzaBroker implements StanzaBroker {
 
     private final StanzaRelay stanzaRelay;
 
-    private final StanzaReceivingSessionContext sessionContext;
+    private final InternalSessionContext sessionContext;
 
-    public SimpleStanzaBroker(StanzaRelay stanzaRelay, StanzaReceivingSessionContext sessionContext) {
+    public SimpleStanzaBroker(StanzaRelay stanzaRelay, InternalSessionContext sessionContext) {
         this.stanzaRelay = requireNonNull(stanzaRelay);
         this.sessionContext = sessionContext;
     }
diff --git a/server/core/src/main/java/org/apache/vysper/xmpp/protocol/SimpleStanzaHandlerExecutor.java b/server/core/src/main/java/org/apache/vysper/xmpp/protocol/SimpleStanzaHandlerExecutor.java
index 5de77af..6da7693 100644
--- a/server/core/src/main/java/org/apache/vysper/xmpp/protocol/SimpleStanzaHandlerExecutor.java
+++ b/server/core/src/main/java/org/apache/vysper/xmpp/protocol/SimpleStanzaHandlerExecutor.java
@@ -23,7 +23,7 @@ import static java.util.Objects.requireNonNull;
 
 import org.apache.vysper.xmpp.delivery.StanzaRelay;
 import org.apache.vysper.xmpp.server.ServerRuntimeContext;
-import org.apache.vysper.xmpp.server.StanzaReceivingSessionContext;
+import org.apache.vysper.xmpp.server.InternalSessionContext;
 import org.apache.vysper.xmpp.stanza.Stanza;
 
 /**
@@ -42,7 +42,7 @@ class SimpleStanzaHandlerExecutor implements StanzaHandlerExecutor {
 
     @Override
     public void execute(Stanza stanza, ServerRuntimeContext serverRuntimeContext, boolean isOutboundStanza,
-                        StanzaReceivingSessionContext sessionContext, SessionStateHolder sessionStateHolder) throws ProtocolException {
+						InternalSessionContext sessionContext, SessionStateHolder sessionStateHolder) throws ProtocolException {
         stanzaHandler.execute(stanza, serverRuntimeContext, isOutboundStanza, sessionContext, sessionStateHolder,
                 new SimpleStanzaBroker(stanzaRelay, sessionContext));
     }
diff --git a/server/core/src/main/java/org/apache/vysper/xmpp/protocol/StanzaHandlerExecutor.java b/server/core/src/main/java/org/apache/vysper/xmpp/protocol/StanzaHandlerExecutor.java
index 18094bb..d80e2b4 100644
--- a/server/core/src/main/java/org/apache/vysper/xmpp/protocol/StanzaHandlerExecutor.java
+++ b/server/core/src/main/java/org/apache/vysper/xmpp/protocol/StanzaHandlerExecutor.java
@@ -21,7 +21,7 @@ package org.apache.vysper.xmpp.protocol;
 
 import org.apache.vysper.xmpp.server.ServerRuntimeContext;
 import org.apache.vysper.xmpp.server.SessionContext;
-import org.apache.vysper.xmpp.server.StanzaReceivingSessionContext;
+import org.apache.vysper.xmpp.server.InternalSessionContext;
 import org.apache.vysper.xmpp.stanza.Stanza;
 
 /**
@@ -39,6 +39,6 @@ import org.apache.vysper.xmpp.stanza.Stanza;
  */
 public interface StanzaHandlerExecutor {
     void execute(Stanza stanza, ServerRuntimeContext serverRuntimeContext, boolean isOutboundStanza,
-            StanzaReceivingSessionContext sessionContext, SessionStateHolder sessionStateHolder)
+				 InternalSessionContext sessionContext, SessionStateHolder sessionStateHolder)
             throws ProtocolException;
 }
diff --git a/server/core/src/main/java/org/apache/vysper/xmpp/protocol/StanzaProcessor.java b/server/core/src/main/java/org/apache/vysper/xmpp/protocol/StanzaProcessor.java
index 8f910c3..0b5e3fa 100644
--- a/server/core/src/main/java/org/apache/vysper/xmpp/protocol/StanzaProcessor.java
+++ b/server/core/src/main/java/org/apache/vysper/xmpp/protocol/StanzaProcessor.java
@@ -20,8 +20,7 @@
 package org.apache.vysper.xmpp.protocol;
 
 import org.apache.vysper.xmpp.server.ServerRuntimeContext;
-import org.apache.vysper.xmpp.server.SessionContext;
-import org.apache.vysper.xmpp.server.StanzaReceivingSessionContext;
+import org.apache.vysper.xmpp.server.InternalSessionContext;
 import org.apache.vysper.xmpp.stanza.Stanza;
 
 /**
@@ -34,8 +33,8 @@ public interface StanzaProcessor {
     /**
      * processes a stanza as received from a local session
      */
-    void processStanza(ServerRuntimeContext serverRuntimeContext, StanzaReceivingSessionContext sessionContext,
+    void processStanza(ServerRuntimeContext serverRuntimeContext, InternalSessionContext sessionContext,
             Stanza stanza, SessionStateHolder sessionStateHolder);
 
-    void processTLSEstablished(StanzaReceivingSessionContext sessionContext, SessionStateHolder sessionStateHolder);
+    void processTLSEstablished(InternalSessionContext sessionContext, SessionStateHolder sessionStateHolder);
 }
diff --git a/server/core/src/main/java/org/apache/vysper/xmpp/protocol/StateAwareProtocolWorker.java b/server/core/src/main/java/org/apache/vysper/xmpp/protocol/StateAwareProtocolWorker.java
index e33f4a2..4897905 100644
--- a/server/core/src/main/java/org/apache/vysper/xmpp/protocol/StateAwareProtocolWorker.java
+++ b/server/core/src/main/java/org/apache/vysper/xmpp/protocol/StateAwareProtocolWorker.java
@@ -19,7 +19,7 @@
  */
 package org.apache.vysper.xmpp.protocol;
 
-import org.apache.vysper.xmpp.server.StanzaReceivingSessionContext;
+import org.apache.vysper.xmpp.server.InternalSessionContext;
 import org.apache.vysper.xmpp.stanza.Stanza;
 
 /**
@@ -32,6 +32,6 @@ import org.apache.vysper.xmpp.stanza.Stanza;
  */
 public interface StateAwareProtocolWorker {
 
-    void processStanza(StanzaReceivingSessionContext sessionContext, SessionStateHolder sessionStateHolder, Stanza stanza,
-                              StanzaHandler stanzaHandler);
+    void processStanza(InternalSessionContext sessionContext, SessionStateHolder sessionStateHolder, Stanza stanza,
+					   StanzaHandler stanzaHandler);
 }
diff --git a/server/core/src/main/java/org/apache/vysper/xmpp/protocol/worker/AbstractStateAwareProtocolWorker.java b/server/core/src/main/java/org/apache/vysper/xmpp/protocol/worker/AbstractStateAwareProtocolWorker.java
index 5e70fd7..1d8bfaf 100644
--- a/server/core/src/main/java/org/apache/vysper/xmpp/protocol/worker/AbstractStateAwareProtocolWorker.java
+++ b/server/core/src/main/java/org/apache/vysper/xmpp/protocol/worker/AbstractStateAwareProtocolWorker.java
@@ -27,9 +27,8 @@ import org.apache.vysper.xmpp.protocol.SessionStateHolder;
 import org.apache.vysper.xmpp.protocol.StanzaHandler;
 import org.apache.vysper.xmpp.protocol.StanzaHandlerExecutorFactory;
 import org.apache.vysper.xmpp.protocol.StateAwareProtocolWorker;
-import org.apache.vysper.xmpp.server.SessionContext;
 import org.apache.vysper.xmpp.server.SessionState;
-import org.apache.vysper.xmpp.server.StanzaReceivingSessionContext;
+import org.apache.vysper.xmpp.server.InternalSessionContext;
 import org.apache.vysper.xmpp.stanza.Stanza;
 
 /**
@@ -47,8 +46,8 @@ public abstract class AbstractStateAwareProtocolWorker implements StateAwareProt
 
     abstract public SessionState getHandledState();
 
-    public void processStanza(StanzaReceivingSessionContext sessionContext, SessionStateHolder sessionStateHolder, Stanza stanza,
-                              StanzaHandler stanzaHandler) {
+    public void processStanza(InternalSessionContext sessionContext, SessionStateHolder sessionStateHolder, Stanza stanza,
+							  StanzaHandler stanzaHandler) {
         boolean proceed = checkState(sessionContext, sessionStateHolder, stanza, stanzaHandler);
         if (!proceed)
             return; // TODO close stream?
@@ -56,13 +55,13 @@ public abstract class AbstractStateAwareProtocolWorker implements StateAwareProt
         executeHandler(sessionContext, sessionStateHolder, stanza, stanzaHandler);
     }
 
-    protected boolean checkState(StanzaReceivingSessionContext sessionContext, SessionStateHolder sessionStateHolder, Stanza stanza,
-                                 StanzaHandler stanzaHandler) {
+    protected boolean checkState(InternalSessionContext sessionContext, SessionStateHolder sessionStateHolder, Stanza stanza,
+								 StanzaHandler stanzaHandler) {
         return 0 == getHandledState().compareTo(sessionContext.getState());
     }
 
-    private void executeHandler(StanzaReceivingSessionContext sessionContext, SessionStateHolder sessionStateHolder, Stanza stanza,
-                                StanzaHandler stanzaHandler) {
+    private void executeHandler(InternalSessionContext sessionContext, SessionStateHolder sessionStateHolder, Stanza stanza,
+								StanzaHandler stanzaHandler) {
         try {
             stanzaHandlerExecutorFactory.build(stanzaHandler).execute(stanza, sessionContext.getServerRuntimeContext(),
                     isProcessingOutboundStanzas(), sessionContext, sessionStateHolder);
diff --git a/server/core/src/main/java/org/apache/vysper/xmpp/protocol/worker/AuthenticatedProtocolWorker.java b/server/core/src/main/java/org/apache/vysper/xmpp/protocol/worker/AuthenticatedProtocolWorker.java
index c96496d..b18f2ba 100644
--- a/server/core/src/main/java/org/apache/vysper/xmpp/protocol/worker/AuthenticatedProtocolWorker.java
+++ b/server/core/src/main/java/org/apache/vysper/xmpp/protocol/worker/AuthenticatedProtocolWorker.java
@@ -25,7 +25,7 @@ import org.apache.vysper.xmpp.protocol.SessionStateHolder;
 import org.apache.vysper.xmpp.protocol.StanzaHandler;
 import org.apache.vysper.xmpp.protocol.StanzaHandlerExecutorFactory;
 import org.apache.vysper.xmpp.server.SessionState;
-import org.apache.vysper.xmpp.server.StanzaReceivingSessionContext;
+import org.apache.vysper.xmpp.server.InternalSessionContext;
 import org.apache.vysper.xmpp.stanza.Stanza;
 
 /**
@@ -39,7 +39,7 @@ public class AuthenticatedProtocolWorker extends AbstractStateAwareProtocolWorke
     }
 
     @Override
-    protected boolean checkState(StanzaReceivingSessionContext sessionContext, SessionStateHolder sessionStateHolder, Stanza stanza,
+    protected boolean checkState(InternalSessionContext sessionContext, SessionStateHolder sessionStateHolder, Stanza stanza,
 								 StanzaHandler stanzaHandler) {
         if (StreamStartHandler.class.isAssignableFrom(stanzaHandler.unwrapType()))
             return true;
diff --git a/server/core/src/main/java/org/apache/vysper/xmpp/protocol/worker/EncryptedProtocolWorker.java b/server/core/src/main/java/org/apache/vysper/xmpp/protocol/worker/EncryptedProtocolWorker.java
index af62742..83ed0ff 100644
--- a/server/core/src/main/java/org/apache/vysper/xmpp/protocol/worker/EncryptedProtocolWorker.java
+++ b/server/core/src/main/java/org/apache/vysper/xmpp/protocol/worker/EncryptedProtocolWorker.java
@@ -30,7 +30,7 @@ import org.apache.vysper.xmpp.protocol.SessionStateHolder;
 import org.apache.vysper.xmpp.protocol.StanzaHandler;
 import org.apache.vysper.xmpp.protocol.StanzaHandlerExecutorFactory;
 import org.apache.vysper.xmpp.server.SessionState;
-import org.apache.vysper.xmpp.server.StanzaReceivingSessionContext;
+import org.apache.vysper.xmpp.server.InternalSessionContext;
 import org.apache.vysper.xmpp.stanza.Stanza;
 
 /**
@@ -49,7 +49,7 @@ public class EncryptedProtocolWorker extends AbstractStateAwareProtocolWorker {
     }
 
     @Override
-    protected boolean checkState(StanzaReceivingSessionContext sessionContext, SessionStateHolder sessionStateHolder, Stanza stanza,
+    protected boolean checkState(InternalSessionContext sessionContext, SessionStateHolder sessionStateHolder, Stanza stanza,
 								 StanzaHandler stanzaHandler) {
 
         Class<?> handlerUnwrappedType = stanzaHandler.unwrapType();
diff --git a/server/core/src/main/java/org/apache/vysper/xmpp/protocol/worker/EncryptionStartedProtocolWorker.java b/server/core/src/main/java/org/apache/vysper/xmpp/protocol/worker/EncryptionStartedProtocolWorker.java
index e99132e..48d81f3 100644
--- a/server/core/src/main/java/org/apache/vysper/xmpp/protocol/worker/EncryptionStartedProtocolWorker.java
+++ b/server/core/src/main/java/org/apache/vysper/xmpp/protocol/worker/EncryptionStartedProtocolWorker.java
@@ -23,7 +23,7 @@ import org.apache.vysper.xmpp.protocol.SessionStateHolder;
 import org.apache.vysper.xmpp.protocol.StanzaHandler;
 import org.apache.vysper.xmpp.protocol.StanzaHandlerExecutorFactory;
 import org.apache.vysper.xmpp.server.SessionState;
-import org.apache.vysper.xmpp.server.StanzaReceivingSessionContext;
+import org.apache.vysper.xmpp.server.InternalSessionContext;
 import org.apache.vysper.xmpp.stanza.Stanza;
 
 /**
@@ -41,7 +41,7 @@ public class EncryptionStartedProtocolWorker extends AbstractStateAwareProtocolW
     }
 
     @Override
-    protected boolean checkState(StanzaReceivingSessionContext sessionContext, SessionStateHolder sessionStateHolder, Stanza stanza,
+    protected boolean checkState(InternalSessionContext sessionContext, SessionStateHolder sessionStateHolder, Stanza stanza,
 								 StanzaHandler stanzaHandler) {
         // StartTLS is currently completely handled on the protocol side.
         // anyway, there are no stanzas to be parsed between ENCRYPTION_STARTED and
diff --git a/server/core/src/main/java/org/apache/vysper/xmpp/protocol/worker/EndOrClosedProtocolWorker.java b/server/core/src/main/java/org/apache/vysper/xmpp/protocol/worker/EndOrClosedProtocolWorker.java
index 1b58673..76aa0ca 100644
--- a/server/core/src/main/java/org/apache/vysper/xmpp/protocol/worker/EndOrClosedProtocolWorker.java
+++ b/server/core/src/main/java/org/apache/vysper/xmpp/protocol/worker/EndOrClosedProtocolWorker.java
@@ -23,7 +23,7 @@ import org.apache.vysper.xmpp.protocol.SessionStateHolder;
 import org.apache.vysper.xmpp.protocol.StanzaHandler;
 import org.apache.vysper.xmpp.protocol.StanzaHandlerExecutorFactory;
 import org.apache.vysper.xmpp.server.SessionState;
-import org.apache.vysper.xmpp.server.StanzaReceivingSessionContext;
+import org.apache.vysper.xmpp.server.InternalSessionContext;
 import org.apache.vysper.xmpp.stanza.Stanza;
 
 /**
@@ -42,7 +42,7 @@ public class EndOrClosedProtocolWorker extends AbstractStateAwareProtocolWorker
     }
 
     @Override
-    protected boolean checkState(StanzaReceivingSessionContext sessionContext, SessionStateHolder sessionStateHolder, Stanza stanza,
+    protected boolean checkState(InternalSessionContext sessionContext, SessionStateHolder sessionStateHolder, Stanza stanza,
 								 StanzaHandler stanzaHandler) {
         throw new RuntimeException("session was terminated");
     }
diff --git a/server/core/src/main/java/org/apache/vysper/xmpp/protocol/worker/InitiatedProtocolWorker.java b/server/core/src/main/java/org/apache/vysper/xmpp/protocol/worker/InitiatedProtocolWorker.java
index d4ba8d9..5d06bec 100644
--- a/server/core/src/main/java/org/apache/vysper/xmpp/protocol/worker/InitiatedProtocolWorker.java
+++ b/server/core/src/main/java/org/apache/vysper/xmpp/protocol/worker/InitiatedProtocolWorker.java
@@ -26,7 +26,7 @@ import org.apache.vysper.xmpp.protocol.SessionStateHolder;
 import org.apache.vysper.xmpp.protocol.StanzaHandler;
 import org.apache.vysper.xmpp.protocol.StanzaHandlerExecutorFactory;
 import org.apache.vysper.xmpp.server.SessionState;
-import org.apache.vysper.xmpp.server.StanzaReceivingSessionContext;
+import org.apache.vysper.xmpp.server.InternalSessionContext;
 import org.apache.vysper.xmpp.stanza.Stanza;
 
 /**
@@ -45,7 +45,7 @@ public class InitiatedProtocolWorker extends AbstractStateAwareProtocolWorker {
     }
 
     @Override
-    protected boolean checkState(StanzaReceivingSessionContext sessionContext, SessionStateHolder sessionStateHolder, Stanza stanza,
+    protected boolean checkState(InternalSessionContext sessionContext, SessionStateHolder sessionStateHolder, Stanza stanza,
 								 StanzaHandler stanzaHandler) {
         Class<?> handlerUnwrappedType = stanzaHandler.unwrapType();
         if (XMLPrologHandler.class.isAssignableFrom(handlerUnwrappedType))
diff --git a/server/core/src/main/java/org/apache/vysper/xmpp/protocol/worker/StartedProtocolWorker.java b/server/core/src/main/java/org/apache/vysper/xmpp/protocol/worker/StartedProtocolWorker.java
index 4bf4293..66d5fec 100644
--- a/server/core/src/main/java/org/apache/vysper/xmpp/protocol/worker/StartedProtocolWorker.java
+++ b/server/core/src/main/java/org/apache/vysper/xmpp/protocol/worker/StartedProtocolWorker.java
@@ -28,7 +28,7 @@ import org.apache.vysper.xmpp.protocol.SessionStateHolder;
 import org.apache.vysper.xmpp.protocol.StanzaHandler;
 import org.apache.vysper.xmpp.protocol.StanzaHandlerExecutorFactory;
 import org.apache.vysper.xmpp.server.SessionState;
-import org.apache.vysper.xmpp.server.StanzaReceivingSessionContext;
+import org.apache.vysper.xmpp.server.InternalSessionContext;
 import org.apache.vysper.xmpp.stanza.Stanza;
 
 /**
@@ -47,8 +47,8 @@ public class StartedProtocolWorker extends AbstractStateAwareProtocolWorker {
     }
 
     @Override
-    protected boolean checkState(StanzaReceivingSessionContext sessionContext, SessionStateHolder sessionStateHolder,
-            Stanza stanza, StanzaHandler stanzaHandler) {
+    protected boolean checkState(InternalSessionContext sessionContext, SessionStateHolder sessionStateHolder,
+								 Stanza stanza, StanzaHandler stanzaHandler) {
 
         Class<?> handlerUnwrappedType = stanzaHandler.unwrapType();
         if (StartTLSHandler.class.isAssignableFrom(handlerUnwrappedType)) {
diff --git a/server/core/src/main/java/org/apache/vysper/xmpp/protocol/worker/UnconnectedProtocolWorker.java b/server/core/src/main/java/org/apache/vysper/xmpp/protocol/worker/UnconnectedProtocolWorker.java
index 1295851..020823f 100644
--- a/server/core/src/main/java/org/apache/vysper/xmpp/protocol/worker/UnconnectedProtocolWorker.java
+++ b/server/core/src/main/java/org/apache/vysper/xmpp/protocol/worker/UnconnectedProtocolWorker.java
@@ -23,7 +23,7 @@ import org.apache.vysper.xmpp.protocol.SessionStateHolder;
 import org.apache.vysper.xmpp.protocol.StanzaHandler;
 import org.apache.vysper.xmpp.protocol.StanzaHandlerExecutorFactory;
 import org.apache.vysper.xmpp.server.SessionState;
-import org.apache.vysper.xmpp.server.StanzaReceivingSessionContext;
+import org.apache.vysper.xmpp.server.InternalSessionContext;
 import org.apache.vysper.xmpp.stanza.Stanza;
 
 /**
@@ -42,7 +42,7 @@ public class UnconnectedProtocolWorker extends AbstractStateAwareProtocolWorker
     }
 
     @Override
-    protected boolean checkState(StanzaReceivingSessionContext sessionContext, SessionStateHolder sessionStateHolder, Stanza stanza,
+    protected boolean checkState(InternalSessionContext sessionContext, SessionStateHolder sessionStateHolder, Stanza stanza,
 								 StanzaHandler stanzaHandler) {
         // TODO
         return true;
diff --git a/server/core/src/main/java/org/apache/vysper/xmpp/server/AbstractSessionContext.java b/server/core/src/main/java/org/apache/vysper/xmpp/server/AbstractSessionContext.java
index 3dc4ddf..767e1a9 100644
--- a/server/core/src/main/java/org/apache/vysper/xmpp/server/AbstractSessionContext.java
+++ b/server/core/src/main/java/org/apache/vysper/xmpp/server/AbstractSessionContext.java
@@ -38,7 +38,7 @@ import org.apache.vysper.xmpp.writer.StanzaWriter;
  * 
  * @author The Apache MINA Project (dev@mina.apache.org)
  */
-public abstract class AbstractSessionContext implements StanzaReceivingSessionContext {
+public abstract class AbstractSessionContext implements InternalSessionContext {
 
     protected final ServerRuntimeContext serverRuntimeContext;
 
diff --git a/server/core/src/main/java/org/apache/vysper/xmpp/server/StanzaReceivingSessionContext.java b/server/core/src/main/java/org/apache/vysper/xmpp/server/InternalSessionContext.java
similarity index 87%
rename from server/core/src/main/java/org/apache/vysper/xmpp/server/StanzaReceivingSessionContext.java
rename to server/core/src/main/java/org/apache/vysper/xmpp/server/InternalSessionContext.java
index 5901765..8cabd67 100644
--- a/server/core/src/main/java/org/apache/vysper/xmpp/server/StanzaReceivingSessionContext.java
+++ b/server/core/src/main/java/org/apache/vysper/xmpp/server/InternalSessionContext.java
@@ -22,9 +22,11 @@ package org.apache.vysper.xmpp.server;
 import org.apache.vysper.xmpp.writer.StanzaWriter;
 
 /**
+ * This abstraction should only be provided to internal framework parts.
+ * 
  * @author Réda Housni Alaoui
  */
-public interface StanzaReceivingSessionContext extends SessionContext {
+public interface InternalSessionContext extends SessionContext {
 
     StanzaWriter getResponseWriter();
 
diff --git a/server/core/src/main/java/org/apache/vysper/xmpp/server/components/ComponentStanzaProcessor.java b/server/core/src/main/java/org/apache/vysper/xmpp/server/components/ComponentStanzaProcessor.java
index 8176620..3de69d0 100644
--- a/server/core/src/main/java/org/apache/vysper/xmpp/server/components/ComponentStanzaProcessor.java
+++ b/server/core/src/main/java/org/apache/vysper/xmpp/server/components/ComponentStanzaProcessor.java
@@ -28,7 +28,7 @@ import org.apache.vysper.xmpp.protocol.StanzaHandler;
 import org.apache.vysper.xmpp.protocol.StanzaHandlerExecutorFactory;
 import org.apache.vysper.xmpp.protocol.StanzaProcessor;
 import org.apache.vysper.xmpp.server.ServerRuntimeContext;
-import org.apache.vysper.xmpp.server.StanzaReceivingSessionContext;
+import org.apache.vysper.xmpp.server.InternalSessionContext;
 import org.apache.vysper.xmpp.stanza.Stanza;
 import org.apache.vysper.xmpp.stanza.XMPPCoreStanza;
 
@@ -52,8 +52,8 @@ public class ComponentStanzaProcessor implements StanzaProcessor {
         componentStanzaHandlerLookup.addDictionary(namespaceHandlerDictionary);
     }
 
-    public void processStanza(ServerRuntimeContext serverRuntimeContext, StanzaReceivingSessionContext sessionContext, Stanza stanza,
-                              SessionStateHolder sessionStateHolder) {
+    public void processStanza(ServerRuntimeContext serverRuntimeContext, InternalSessionContext sessionContext, Stanza stanza,
+							  SessionStateHolder sessionStateHolder) {
         if (stanza == null)
             throw new RuntimeException("cannot process NULL stanzas");
 
@@ -77,7 +77,7 @@ public class ComponentStanzaProcessor implements StanzaProcessor {
 
     }
 
-    public void processTLSEstablished(StanzaReceivingSessionContext sessionContext, SessionStateHolder sessionStateHolder) {
+    public void processTLSEstablished(InternalSessionContext sessionContext, SessionStateHolder sessionStateHolder) {
         throw new RuntimeException("should not be called for components, which only acts as an established session");
     }
 }
diff --git a/server/core/src/main/java/org/apache/vysper/xmpp/state/resourcebinding/DefaultResourceRegistry.java b/server/core/src/main/java/org/apache/vysper/xmpp/state/resourcebinding/DefaultResourceRegistry.java
index 0be69e7..5d57c0a 100644
--- a/server/core/src/main/java/org/apache/vysper/xmpp/state/resourcebinding/DefaultResourceRegistry.java
+++ b/server/core/src/main/java/org/apache/vysper/xmpp/state/resourcebinding/DefaultResourceRegistry.java
@@ -31,7 +31,7 @@ import java.util.Map;
 
 import org.apache.vysper.xmpp.addressing.Entity;
 import org.apache.vysper.xmpp.server.SessionContext;
-import org.apache.vysper.xmpp.server.StanzaReceivingSessionContext;
+import org.apache.vysper.xmpp.server.InternalSessionContext;
 import org.apache.vysper.xmpp.uuid.JVMBuiltinUUIDGenerator;
 import org.apache.vysper.xmpp.uuid.UUIDGenerator;
 import org.slf4j.Logger;
@@ -48,13 +48,13 @@ public class DefaultResourceRegistry implements InternalResourceRegistry {
 
     private static class SessionData {
 
-        private final StanzaReceivingSessionContext context;
+        private final InternalSessionContext context;
 
         private ResourceState state;
 
         private Integer priority;
 
-        SessionData(StanzaReceivingSessionContext context, ResourceState status, Integer priority) {
+        SessionData(InternalSessionContext context, ResourceState status, Integer priority) {
             this.context = context;
             this.state = status;
             this.priority = priority == null ? 0 : priority;
@@ -88,7 +88,7 @@ public class DefaultResourceRegistry implements InternalResourceRegistry {
      * @param sessionContext
      * @return newly allocated resource id
      */
-    public String bindSession(StanzaReceivingSessionContext sessionContext) {
+    public String bindSession(InternalSessionContext sessionContext) {
         if (sessionContext == null) {
             throw new IllegalArgumentException("session context cannot be NULL");
         }
@@ -226,7 +226,7 @@ public class DefaultResourceRegistry implements InternalResourceRegistry {
         return resourceList;
     }
 
-    public StanzaReceivingSessionContext getSessionContext(String resourceId) {
+    public InternalSessionContext getSessionContext(String resourceId) {
         SessionData data = boundResources.get(resourceId);
         if (data == null)
             return null;
@@ -278,8 +278,8 @@ public class DefaultResourceRegistry implements InternalResourceRegistry {
      * session for the JID's resource part. if it's a bare JID, it will return all session for the JID.
      * @param entity
      */
-    public List<StanzaReceivingSessionContext> getSessions(Entity entity) {
-        List<StanzaReceivingSessionContext> sessionContexts = new ArrayList<>();
+    public List<InternalSessionContext> getSessions(Entity entity) {
+        List<InternalSessionContext> sessionContexts = new ArrayList<>();
 
         List<String> boundResources = getBoundResources(entity, false);
         for (String resourceId : boundResources) {
@@ -297,10 +297,10 @@ public class DefaultResourceRegistry implements InternalResourceRegistry {
      * for the threshold is 0 (zero), which is also the default when param is NULL.
      * @return returns the sessions matching the given JID (bare) with same or higher priority
      */
-    public List<StanzaReceivingSessionContext> getSessions(Entity entity, Integer prioThreshold) {
+    public List<InternalSessionContext> getSessions(Entity entity, Integer prioThreshold) {
         if (prioThreshold == null)
             prioThreshold = 0;
-        List<StanzaReceivingSessionContext> results = new ArrayList<>();
+        List<InternalSessionContext> results = new ArrayList<>();
 
         List<String> boundResourceIds = getBoundResources(entity, true);
         for (String resourceId : boundResourceIds) {
@@ -334,9 +334,9 @@ public class DefaultResourceRegistry implements InternalResourceRegistry {
      * @return for a bare JID, it will return the highest prioritized sessions. for a full JID, it will return the
      * related session.
      */
-    public List<StanzaReceivingSessionContext> getHighestPrioSessions(Entity entity, Integer prioThreshold) {
+    public List<InternalSessionContext> getHighestPrioSessions(Entity entity, Integer prioThreshold) {
         Integer currentPrio = prioThreshold == null ? Integer.MIN_VALUE : prioThreshold;
-        List<StanzaReceivingSessionContext> results = new ArrayList<>();
+        List<InternalSessionContext> results = new ArrayList<>();
 
         boolean isResourceSet = entity.isResourceSet();
 
diff --git a/server/core/src/main/java/org/apache/vysper/xmpp/state/resourcebinding/InternalResourceRegistry.java b/server/core/src/main/java/org/apache/vysper/xmpp/state/resourcebinding/InternalResourceRegistry.java
index 718a177..5d81c9c 100644
--- a/server/core/src/main/java/org/apache/vysper/xmpp/state/resourcebinding/InternalResourceRegistry.java
+++ b/server/core/src/main/java/org/apache/vysper/xmpp/state/resourcebinding/InternalResourceRegistry.java
@@ -22,7 +22,7 @@ package org.apache.vysper.xmpp.state.resourcebinding;
 import java.util.List;
 
 import org.apache.vysper.xmpp.addressing.Entity;
-import org.apache.vysper.xmpp.server.StanzaReceivingSessionContext;
+import org.apache.vysper.xmpp.server.InternalSessionContext;
 
 /**
  * Resource registry giving access to its internal parts. This abstraction
@@ -35,11 +35,11 @@ import org.apache.vysper.xmpp.server.StanzaReceivingSessionContext;
  */
 public interface InternalResourceRegistry extends ResourceRegistry {
 
-    StanzaReceivingSessionContext getSessionContext(String resourceId);
+    InternalSessionContext getSessionContext(String resourceId);
 
-    List<StanzaReceivingSessionContext> getSessions(Entity entity);
+    List<InternalSessionContext> getSessions(Entity entity);
 
-    List<StanzaReceivingSessionContext> getSessions(Entity entity, Integer prioThreshold);
+    List<InternalSessionContext> getSessions(Entity entity, Integer prioThreshold);
 
-    List<StanzaReceivingSessionContext> getHighestPrioSessions(Entity entity, Integer prioThreshold);
+    List<InternalSessionContext> getHighestPrioSessions(Entity entity, Integer prioThreshold);
 }
diff --git a/server/core/src/main/java/org/apache/vysper/xmpp/state/resourcebinding/ResourceRegistry.java b/server/core/src/main/java/org/apache/vysper/xmpp/state/resourcebinding/ResourceRegistry.java
index 07f945d..c49f350 100644
--- a/server/core/src/main/java/org/apache/vysper/xmpp/state/resourcebinding/ResourceRegistry.java
+++ b/server/core/src/main/java/org/apache/vysper/xmpp/state/resourcebinding/ResourceRegistry.java
@@ -2,7 +2,7 @@ package org.apache.vysper.xmpp.state.resourcebinding;
 
 import org.apache.vysper.xmpp.addressing.Entity;
 import org.apache.vysper.xmpp.server.SessionContext;
-import org.apache.vysper.xmpp.server.StanzaReceivingSessionContext;
+import org.apache.vysper.xmpp.server.InternalSessionContext;
 
 import java.util.List;
 
@@ -24,7 +24,7 @@ public interface ResourceRegistry {
 
     List<String> getAvailableResources(Entity entity);
 
-    String bindSession(StanzaReceivingSessionContext sessionContext);
+    String bindSession(InternalSessionContext sessionContext);
 
     boolean unbindResource(String resourceId);
 
diff --git a/server/core/src/test/java/org/apache/vysper/xmpp/delivery/StanzaRelayBrokerTestCase.java b/server/core/src/test/java/org/apache/vysper/xmpp/delivery/StanzaRelayBrokerTestCase.java
index 1afb3b9..ecb5e4b 100644
--- a/server/core/src/test/java/org/apache/vysper/xmpp/delivery/StanzaRelayBrokerTestCase.java
+++ b/server/core/src/test/java/org/apache/vysper/xmpp/delivery/StanzaRelayBrokerTestCase.java
@@ -28,7 +28,7 @@ import org.apache.vysper.xmpp.delivery.failure.IgnoreFailureStrategy;
 import org.apache.vysper.xmpp.delivery.failure.ServiceNotAvailableException;
 import org.apache.vysper.xmpp.server.ServerFeatures;
 import org.apache.vysper.xmpp.server.ServerRuntimeContext;
-import org.apache.vysper.xmpp.server.StanzaReceivingSessionContext;
+import org.apache.vysper.xmpp.server.InternalSessionContext;
 import org.apache.vysper.xmpp.stanza.Stanza;
 import org.apache.vysper.xmpp.stanza.StanzaBuilder;
 import org.junit.Before;
@@ -53,7 +53,7 @@ public class StanzaRelayBrokerTestCase extends Mockito {
     
     private StanzaRelay internalRelay = mock(StanzaRelay.class);
     private StanzaRelay externalRelay = mock(StanzaRelay.class);
-    private StanzaReceivingSessionContext sessionContext = mock(StanzaReceivingSessionContext.class);
+    private InternalSessionContext sessionContext = mock(InternalSessionContext.class);
     private ServerRuntimeContext serverRuntimeContext = mock(ServerRuntimeContext.class);
     private ServerFeatures serverFeatures = mock(ServerFeatures.class);
 
diff --git a/server/core/src/test/java/org/apache/vysper/xmpp/delivery/inbound/DeliveringExternalInboundStanzaRelayTestCase.java b/server/core/src/test/java/org/apache/vysper/xmpp/delivery/inbound/DeliveringExternalInboundStanzaRelayTestCase.java
index 8a49ad0..ffbab04 100644
--- a/server/core/src/test/java/org/apache/vysper/xmpp/delivery/inbound/DeliveringExternalInboundStanzaRelayTestCase.java
+++ b/server/core/src/test/java/org/apache/vysper/xmpp/delivery/inbound/DeliveringExternalInboundStanzaRelayTestCase.java
@@ -30,8 +30,7 @@ import org.apache.vysper.xmpp.delivery.failure.RemoteServerNotFoundException;
 import org.apache.vysper.xmpp.delivery.failure.ServiceNotAvailableException;
 import org.apache.vysper.xmpp.protocol.NamespaceURIs;
 import org.apache.vysper.xmpp.server.ServerRuntimeContext;
-import org.apache.vysper.xmpp.server.SessionContext;
-import org.apache.vysper.xmpp.server.StanzaReceivingSessionContext;
+import org.apache.vysper.xmpp.server.InternalSessionContext;
 import org.apache.vysper.xmpp.server.s2s.XMPPServerConnector;
 import org.apache.vysper.xmpp.server.s2s.XMPPServerConnectorRegistry;
 import org.apache.vysper.xmpp.stanza.Stanza;
@@ -62,7 +61,7 @@ public class DeliveringExternalInboundStanzaRelayTestCase extends TestCase {
     private static final Stanza STANZA = XMPPCoreStanza.getWrapper(StanzaBuilder.createMessageStanza(FROM, TO, LANG,
             BODY).build());
     
-    private StanzaReceivingSessionContext sessionContext = mock(StanzaReceivingSessionContext.class);
+    private InternalSessionContext sessionContext = mock(InternalSessionContext.class);
 
     public void testRemoteServerError() throws Exception {
         XMPPServerConnectorRegistry registry = mock(XMPPServerConnectorRegistry.class);
diff --git a/server/core/src/test/java/org/apache/vysper/xmpp/delivery/inbound/DeliveringInteralInboundStanzaRelayTestCase.java b/server/core/src/test/java/org/apache/vysper/xmpp/delivery/inbound/DeliveringInteralInboundStanzaRelayTestCase.java
index de0cfb3..50bdbe2 100644
--- a/server/core/src/test/java/org/apache/vysper/xmpp/delivery/inbound/DeliveringInteralInboundStanzaRelayTestCase.java
+++ b/server/core/src/test/java/org/apache/vysper/xmpp/delivery/inbound/DeliveringInteralInboundStanzaRelayTestCase.java
@@ -36,9 +36,8 @@ import org.apache.vysper.xmpp.delivery.failure.IgnoreFailureStrategy;
 import org.apache.vysper.xmpp.delivery.failure.ServiceNotAvailableException;
 import org.apache.vysper.xmpp.protocol.SimpleStanzaHandlerExecutorFactory;
 import org.apache.vysper.xmpp.server.DefaultServerRuntimeContext;
-import org.apache.vysper.xmpp.server.SessionContext;
 import org.apache.vysper.xmpp.server.SessionState;
-import org.apache.vysper.xmpp.server.StanzaReceivingSessionContext;
+import org.apache.vysper.xmpp.server.InternalSessionContext;
 import org.apache.vysper.xmpp.server.TestSessionContext;
 import org.apache.vysper.xmpp.server.components.SimpleComponentRegistry;
 import org.apache.vysper.xmpp.stanza.Stanza;
@@ -46,7 +45,6 @@ import org.apache.vysper.xmpp.stanza.StanzaBuilder;
 import org.apache.vysper.xmpp.state.resourcebinding.BindException;
 import org.apache.vysper.xmpp.state.resourcebinding.DefaultResourceRegistry;
 import org.apache.vysper.xmpp.state.resourcebinding.InternalResourceRegistry;
-import org.apache.vysper.xmpp.state.resourcebinding.ResourceRegistry;
 
 import junit.framework.Assert;
 import junit.framework.TestCase;
@@ -65,7 +63,7 @@ public class DeliveringInteralInboundStanzaRelayTestCase extends TestCase {
 
     protected DeliveringInternalInboundStanzaRelay stanzaRelay;
     
-    private StanzaReceivingSessionContext sessionContext = mock(StanzaReceivingSessionContext.class);
+    private InternalSessionContext sessionContext = mock(InternalSessionContext.class);
 
     static class AccountVerificationMock implements AccountManagement {
         public void addUser(Entity username, String password) throws AccountCreationException {
diff --git a/server/core/src/test/java/org/apache/vysper/xmpp/modules/servicediscovery/handler/DiscoInfoIQHandlerTestCase.java b/server/core/src/test/java/org/apache/vysper/xmpp/modules/servicediscovery/handler/DiscoInfoIQHandlerTestCase.java
index ce48988..cc16c36 100644
--- a/server/core/src/test/java/org/apache/vysper/xmpp/modules/servicediscovery/handler/DiscoInfoIQHandlerTestCase.java
+++ b/server/core/src/test/java/org/apache/vysper/xmpp/modules/servicediscovery/handler/DiscoInfoIQHandlerTestCase.java
@@ -38,7 +38,7 @@ import org.apache.vysper.xmpp.modules.servicediscovery.management.ServiceDiscove
 import org.apache.vysper.xmpp.protocol.NamespaceURIs;
 import org.apache.vysper.xmpp.protocol.StanzaBroker;
 import org.apache.vysper.xmpp.server.ServerRuntimeContext;
-import org.apache.vysper.xmpp.server.StanzaReceivingSessionContext;
+import org.apache.vysper.xmpp.server.InternalSessionContext;
 import org.apache.vysper.xmpp.stanza.IQStanza;
 import org.apache.vysper.xmpp.stanza.IQStanzaType;
 import org.apache.vysper.xmpp.stanza.Stanza;
@@ -68,7 +68,7 @@ public class DiscoInfoIQHandlerTestCase extends Mockito {
 
     private ServerRuntimeContext serverRuntimeContext = mock(ServerRuntimeContext.class);
 
-    private StanzaReceivingSessionContext sessionContext = mock(StanzaReceivingSessionContext.class);
+    private InternalSessionContext sessionContext = mock(InternalSessionContext.class);
 
     private ServiceCollector serviceCollector = mock(ServiceCollector.class);
 
diff --git a/server/core/src/test/java/org/apache/vysper/xmpp/modules/servicediscovery/handler/ExtendedDiscoInfoTestCase.java b/server/core/src/test/java/org/apache/vysper/xmpp/modules/servicediscovery/handler/ExtendedDiscoInfoTestCase.java
index 472fd9d..cea8ece 100644
--- a/server/core/src/test/java/org/apache/vysper/xmpp/modules/servicediscovery/handler/ExtendedDiscoInfoTestCase.java
+++ b/server/core/src/test/java/org/apache/vysper/xmpp/modules/servicediscovery/handler/ExtendedDiscoInfoTestCase.java
@@ -41,7 +41,7 @@ import org.apache.vysper.xmpp.protocol.NamespaceURIs;
 import org.apache.vysper.xmpp.protocol.SessionStateHolder;
 import org.apache.vysper.xmpp.protocol.SimpleStanzaBroker;
 import org.apache.vysper.xmpp.server.DefaultServerRuntimeContext;
-import org.apache.vysper.xmpp.server.StanzaReceivingSessionContext;
+import org.apache.vysper.xmpp.server.InternalSessionContext;
 import org.apache.vysper.xmpp.server.TestSessionContext;
 import org.apache.vysper.xmpp.stanza.IQStanza;
 import org.apache.vysper.xmpp.stanza.IQStanzaType;
@@ -87,7 +87,7 @@ public class ExtendedDiscoInfoTestCase extends TestCase {
 
         IQStanza finalStanza = (IQStanza) XMPPCoreStanza.getWrapper(request.build());
 
-        StanzaReceivingSessionContext sessionContext = new TestSessionContext(runtimeContext, new SessionStateHolder(),
+        InternalSessionContext sessionContext = new TestSessionContext(runtimeContext, new SessionStateHolder(),
                 runtimeContext.getStanzaRelay());
 
         List<Stanza> resultStanzas = infoIQHandler.handleGet(finalStanza, runtimeContext, sessionContext,
diff --git a/server/core/src/test/java/org/apache/vysper/xmpp/server/components/ComponentStanzaProcessorTestCase.java b/server/core/src/test/java/org/apache/vysper/xmpp/server/components/ComponentStanzaProcessorTestCase.java
index 00d556c..f17cd65 100644
--- a/server/core/src/test/java/org/apache/vysper/xmpp/server/components/ComponentStanzaProcessorTestCase.java
+++ b/server/core/src/test/java/org/apache/vysper/xmpp/server/components/ComponentStanzaProcessorTestCase.java
@@ -33,8 +33,7 @@ import org.apache.vysper.xmpp.protocol.SimpleStanzaBroker;
 import org.apache.vysper.xmpp.protocol.SimpleStanzaHandlerExecutorFactory;
 import org.apache.vysper.xmpp.protocol.StanzaHandler;
 import org.apache.vysper.xmpp.server.ServerRuntimeContext;
-import org.apache.vysper.xmpp.server.SessionContext;
-import org.apache.vysper.xmpp.server.StanzaReceivingSessionContext;
+import org.apache.vysper.xmpp.server.InternalSessionContext;
 import org.apache.vysper.xmpp.stanza.Stanza;
 import org.apache.vysper.xmpp.stanza.StanzaBuilder;
 import org.apache.vysper.xmpp.writer.StanzaWriter;
@@ -52,7 +51,7 @@ public class ComponentStanzaProcessorTestCase {
 
     private ServerRuntimeContext serverRuntimeContext = mock(ServerRuntimeContext.class);
 
-    private StanzaReceivingSessionContext sessionContext = mock(StanzaReceivingSessionContext.class);
+    private InternalSessionContext sessionContext = mock(InternalSessionContext.class);
 
     private SessionStateHolder sessionStateHolder = new SessionStateHolder();
 
diff --git a/server/core/src/test/java/org/apache/vysper/xmpp/state/resourcebinding/ResourceRegistryTestCase.java b/server/core/src/test/java/org/apache/vysper/xmpp/state/resourcebinding/ResourceRegistryTestCase.java
index 84e85ac..fc47446 100644
--- a/server/core/src/test/java/org/apache/vysper/xmpp/state/resourcebinding/ResourceRegistryTestCase.java
+++ b/server/core/src/test/java/org/apache/vysper/xmpp/state/resourcebinding/ResourceRegistryTestCase.java
@@ -26,7 +26,7 @@ import junit.framework.TestCase;
 import org.apache.vysper.xmpp.addressing.EntityFormatException;
 import org.apache.vysper.xmpp.addressing.EntityImpl;
 import org.apache.vysper.xmpp.server.SessionContext;
-import org.apache.vysper.xmpp.server.StanzaReceivingSessionContext;
+import org.apache.vysper.xmpp.server.InternalSessionContext;
 import org.apache.vysper.xmpp.server.TestSessionContext;
 
 /**
@@ -91,12 +91,12 @@ public class ResourceRegistryTestCase extends TestCase {
         assertTrue(resourceList.contains(resourceId1));
         assertTrue(resourceList.contains(resourceId2));
 
-        List<StanzaReceivingSessionContext> sessionList = resourceRegistry.getSessions(entity);
+        List<InternalSessionContext> sessionList = resourceRegistry.getSessions(entity);
         assertEquals(2, resourceList.size());
         assertTrue(sessionList.contains(sessionContext1));
         assertTrue(sessionList.contains(sessionContext2));
 
-        List<StanzaReceivingSessionContext> highestPrioSessions = resourceRegistry.getHighestPrioSessions(entity, null);
+        List<InternalSessionContext> highestPrioSessions = resourceRegistry.getHighestPrioSessions(entity, null);
         assertEquals(1, highestPrioSessions.size());
         SessionContext highestPrioSession = highestPrioSessions.get(0);
         assertSame(resourceRegistry.getSessionContext(resourceId2), highestPrioSession);
@@ -146,7 +146,7 @@ public class ResourceRegistryTestCase extends TestCase {
         assertTrue(resourceList.contains(resourceId1));
         assertTrue(resourceList.contains(resourceId2));
 
-        List<StanzaReceivingSessionContext> sessionList = resourceRegistry.getSessions(entity);
+        List<InternalSessionContext> sessionList = resourceRegistry.getSessions(entity);
         assertEquals(2, resourceList.size());
         assertTrue(sessionList.contains(sessionContext1));
         assertTrue(sessionList.contains(sessionContext2));
diff --git a/server/extensions/websockets/src/test/java/org/apache/vysper/xmpp/extension/websockets/JettyXmppWebSocketTest.java b/server/extensions/websockets/src/test/java/org/apache/vysper/xmpp/extension/websockets/JettyXmppWebSocketTest.java
index d2f1d94..0a4dbb2 100644
--- a/server/extensions/websockets/src/test/java/org/apache/vysper/xmpp/extension/websockets/JettyXmppWebSocketTest.java
+++ b/server/extensions/websockets/src/test/java/org/apache/vysper/xmpp/extension/websockets/JettyXmppWebSocketTest.java
@@ -24,8 +24,7 @@ import java.io.IOException;
 import org.apache.vysper.xmpp.protocol.SessionStateHolder;
 import org.apache.vysper.xmpp.protocol.StanzaProcessor;
 import org.apache.vysper.xmpp.server.ServerRuntimeContext;
-import org.apache.vysper.xmpp.server.SessionContext;
-import org.apache.vysper.xmpp.server.StanzaReceivingSessionContext;
+import org.apache.vysper.xmpp.server.InternalSessionContext;
 import org.apache.vysper.xmpp.stanza.Stanza;
 import org.apache.vysper.xmpp.stanza.StanzaBuilder;
 import org.eclipse.jetty.websocket.WebSocket.Connection;
@@ -51,7 +50,7 @@ public class JettyXmppWebSocketTest {
 
         Stanza expected = new StanzaBuilder("test").build();
         Mockito.verify(stanzaProcessor).processStanza(Mockito.eq(serverRuntimeContext),
-                Mockito.any(StanzaReceivingSessionContext.class), Mockito.eq(expected), Mockito.any(SessionStateHolder.class));
+                Mockito.any(InternalSessionContext.class), Mockito.eq(expected), Mockito.any(SessionStateHolder.class));
     }
 
     @Test
diff --git a/server/extensions/websockets/src/test/java/org/apache/vysper/xmpp/extension/websockets/TomcatXmppWebSocketTest.java b/server/extensions/websockets/src/test/java/org/apache/vysper/xmpp/extension/websockets/TomcatXmppWebSocketTest.java
index 9a1c6c9..b6c0a1a 100644
--- a/server/extensions/websockets/src/test/java/org/apache/vysper/xmpp/extension/websockets/TomcatXmppWebSocketTest.java
+++ b/server/extensions/websockets/src/test/java/org/apache/vysper/xmpp/extension/websockets/TomcatXmppWebSocketTest.java
@@ -26,8 +26,7 @@ import org.apache.catalina.websocket.WsOutbound;
 import org.apache.vysper.xmpp.protocol.SessionStateHolder;
 import org.apache.vysper.xmpp.protocol.StanzaProcessor;
 import org.apache.vysper.xmpp.server.ServerRuntimeContext;
-import org.apache.vysper.xmpp.server.SessionContext;
-import org.apache.vysper.xmpp.server.StanzaReceivingSessionContext;
+import org.apache.vysper.xmpp.server.InternalSessionContext;
 import org.apache.vysper.xmpp.stanza.Stanza;
 import org.apache.vysper.xmpp.stanza.StanzaBuilder;
 import org.junit.Test;
@@ -52,7 +51,7 @@ public class TomcatXmppWebSocketTest {
 
         Stanza expected = new StanzaBuilder("test").build();
         Mockito.verify(stanzaProcessor).processStanza(Mockito.eq(serverRuntimeContext),
-                Mockito.any(StanzaReceivingSessionContext.class), Mockito.eq(expected), Mockito.any(SessionStateHolder.class));
+                Mockito.any(InternalSessionContext.class), Mockito.eq(expected), Mockito.any(SessionStateHolder.class));
     }
 
     @Test
diff --git a/server/extensions/xep0124-xep0206-bosh/src/test/java/org/apache/vysper/xmpp/extension/xep0124/BoshHandlerTest.java b/server/extensions/xep0124-xep0206-bosh/src/test/java/org/apache/vysper/xmpp/extension/xep0124/BoshHandlerTest.java
index 9fd8c4a..51424b1 100644
--- a/server/extensions/xep0124-xep0206-bosh/src/test/java/org/apache/vysper/xmpp/extension/xep0124/BoshHandlerTest.java
+++ b/server/extensions/xep0124-xep0206-bosh/src/test/java/org/apache/vysper/xmpp/extension/xep0124/BoshHandlerTest.java
@@ -38,12 +38,9 @@ import org.apache.vysper.xmpp.addressing.EntityImpl;
 import org.apache.vysper.xmpp.authentication.SASLMechanism;
 import org.apache.vysper.xmpp.modules.extension.xep0077_inbandreg.InBandRegistrationModule;
 import org.apache.vysper.xmpp.protocol.NamespaceURIs;
-import org.apache.vysper.xmpp.protocol.SessionStateHolder;
 import org.apache.vysper.xmpp.protocol.StanzaProcessor;
 import org.apache.vysper.xmpp.server.ServerFeatures;
 import org.apache.vysper.xmpp.server.ServerRuntimeContext;
-import org.apache.vysper.xmpp.server.SessionContext;
-import org.apache.vysper.xmpp.server.StanzaReceivingSessionContext;
 import org.apache.vysper.xmpp.stanza.Stanza;
 import org.apache.vysper.xmpp.stanza.StanzaBuilder;
 import org.easymock.Capture;