org.jdiameter.server.impl.app.s6a
Class S6aServerSessionImpl

java.lang.Object
  extended by org.jdiameter.common.impl.app.AppSessionImpl
      extended by org.jdiameter.common.impl.app.s6a.S6aSession
          extended by org.jdiameter.server.impl.app.s6a.S6aServerSessionImpl
All Implemented Interfaces:
AppSession, StateMachine, BaseSession, EventListener<Request,Answer>, NetworkReqListener, ServerS6aSession

public class S6aServerSessionImpl
extends S6aSession
implements ServerS6aSession, EventListener<Request,Answer>, NetworkReqListener

S6a Server session implementation

Author:
Alexandre Mendonca , Richard Good , Paul Carter-Brown

Field Summary
protected  long appId
           
protected  IServerS6aSessionData sessionData
           
 
Fields inherited from class org.jdiameter.common.impl.app.s6a.S6aSession
_TX_TIMEOUT, messageFactory, sendAndStateLock, stateListeners, TIMER_NAME_MSG_TIMEOUT
 
Fields inherited from class org.jdiameter.common.impl.app.AppSessionImpl
appSessionData, scheduler, session, sessions, sf, timerFacility
 
Constructor Summary
S6aServerSessionImpl(IServerS6aSessionData sessionData, IS6aMessageFactory fct, ISessionFactory sf, ServerS6aSessionListener lst)
           
 
Method Summary
<E> E
getState(java.lang.Class<E> stateType)
           
 boolean handleEvent(StateEvent event)
           
 void onTimer(java.lang.String timerName)
           
 Answer processRequest(Request request)
           
 void receivedSuccessMessage(Request request, Answer answer)
           
 void release()
           
protected  void send(org.jdiameter.server.impl.app.s6a.Event.Type type, AppEvent request, AppEvent answer)
           
 void sendAuthenticationInformationAnswer(JAuthenticationInformationAnswer answer)
           
 void sendCancelLocationRequest(JCancelLocationRequest request)
           
 void sendDeleteSubscriberDataRequest(JDeleteSubscriberDataRequest request)
           
 void sendInsertSubscriberDataRequest(JInsertSubscriberDataRequest request)
           
 void sendNotifyAnswer(JNotifyAnswer answer)
           
 void sendPurgeUEAnswer(JPurgeUEAnswer answer)
           
 void sendResetRequest(JResetRequest request)
           
 void sendUpdateLocationAnswer(JUpdateLocationAnswer answer)
           
protected  void setState(S6aSessionState newState)
           
 void timeoutExpired(Request request)
           
 
Methods inherited from class org.jdiameter.common.impl.app.s6a.S6aSession
addStateChangeNotification, cancelMsgTimer, equals, hashCode, isReplicable, isStateless, removeStateChangeNotification, startMsgTimer
 
Methods inherited from class org.jdiameter.common.impl.app.AppSessionImpl
getCreationTime, getLastAccessedTime, getSessionAppId, getSessionId, getSessions, isAppSession, isValid
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.jdiameter.api.app.AppSession
getSessionAppId, getSessions, isStateless
 
Methods inherited from interface org.jdiameter.api.BaseSession
getCreationTime, getLastAccessedTime, getSessionId, isAppSession, isReplicable, isValid
 
Methods inherited from interface org.jdiameter.api.app.StateMachine
addStateChangeNotification, removeStateChangeNotification
 

Field Detail

appId

protected long appId

sessionData

protected IServerS6aSessionData sessionData
Constructor Detail

S6aServerSessionImpl

public S6aServerSessionImpl(IServerS6aSessionData sessionData,
                            IS6aMessageFactory fct,
                            ISessionFactory sf,
                            ServerS6aSessionListener lst)
Method Detail

sendAuthenticationInformationAnswer

public void sendAuthenticationInformationAnswer(JAuthenticationInformationAnswer answer)
                                         throws InternalException,
                                                IllegalDiameterStateException,
                                                RouteException,
                                                OverloadException
Specified by:
sendAuthenticationInformationAnswer in interface ServerS6aSession
Throws:
InternalException
IllegalDiameterStateException
RouteException
OverloadException

sendPurgeUEAnswer

public void sendPurgeUEAnswer(JPurgeUEAnswer answer)
                       throws InternalException,
                              IllegalDiameterStateException,
                              RouteException,
                              OverloadException
Specified by:
sendPurgeUEAnswer in interface ServerS6aSession
Throws:
InternalException
IllegalDiameterStateException
RouteException
OverloadException

sendUpdateLocationAnswer

public void sendUpdateLocationAnswer(JUpdateLocationAnswer answer)
                              throws InternalException,
                                     IllegalDiameterStateException,
                                     RouteException,
                                     OverloadException
Specified by:
sendUpdateLocationAnswer in interface ServerS6aSession
Throws:
InternalException
IllegalDiameterStateException
RouteException
OverloadException

sendNotifyAnswer

public void sendNotifyAnswer(JNotifyAnswer answer)
                      throws InternalException,
                             IllegalDiameterStateException,
                             RouteException,
                             OverloadException
Specified by:
sendNotifyAnswer in interface ServerS6aSession
Throws:
InternalException
IllegalDiameterStateException
RouteException
OverloadException

sendCancelLocationRequest

public void sendCancelLocationRequest(JCancelLocationRequest request)
                               throws InternalException,
                                      IllegalDiameterStateException,
                                      RouteException,
                                      OverloadException
Specified by:
sendCancelLocationRequest in interface ServerS6aSession
Throws:
InternalException
IllegalDiameterStateException
RouteException
OverloadException

sendInsertSubscriberDataRequest

public void sendInsertSubscriberDataRequest(JInsertSubscriberDataRequest request)
                                     throws InternalException,
                                            IllegalDiameterStateException,
                                            RouteException,
                                            OverloadException
Specified by:
sendInsertSubscriberDataRequest in interface ServerS6aSession
Throws:
InternalException
IllegalDiameterStateException
RouteException
OverloadException

sendDeleteSubscriberDataRequest

public void sendDeleteSubscriberDataRequest(JDeleteSubscriberDataRequest request)
                                     throws InternalException,
                                            IllegalDiameterStateException,
                                            RouteException,
                                            OverloadException
Specified by:
sendDeleteSubscriberDataRequest in interface ServerS6aSession
Throws:
InternalException
IllegalDiameterStateException
RouteException
OverloadException

sendResetRequest

public void sendResetRequest(JResetRequest request)
                      throws InternalException,
                             IllegalDiameterStateException,
                             RouteException,
                             OverloadException
Specified by:
sendResetRequest in interface ServerS6aSession
Throws:
InternalException
IllegalDiameterStateException
RouteException
OverloadException

getState

public <E> E getState(java.lang.Class<E> stateType)
Specified by:
getState in interface StateMachine

handleEvent

public boolean handleEvent(StateEvent event)
                    throws InternalException,
                           OverloadException
Specified by:
handleEvent in interface StateMachine
Throws:
InternalException
OverloadException

receivedSuccessMessage

public void receivedSuccessMessage(Request request,
                                   Answer answer)
Specified by:
receivedSuccessMessage in interface EventListener<Request,Answer>

timeoutExpired

public void timeoutExpired(Request request)
Specified by:
timeoutExpired in interface EventListener<Request,Answer>

processRequest

public Answer processRequest(Request request)
Specified by:
processRequest in interface NetworkReqListener

send

protected void send(org.jdiameter.server.impl.app.s6a.Event.Type type,
                    AppEvent request,
                    AppEvent answer)
             throws InternalException
Throws:
InternalException

setState

protected void setState(S6aSessionState newState)

onTimer

public void onTimer(java.lang.String timerName)
Specified by:
onTimer in class AppSessionImpl

release

public void release()
Specified by:
release in interface BaseSession
Overrides:
release in class AppSessionImpl


Copyright © 2014. All Rights Reserved.