org.jdiameter.client.impl.app.s6a
Class S6aClientSessionImpl

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

public class S6aClientSessionImpl
extends S6aSession
implements ClientS6aSession, EventListener<Request,Answer>, NetworkReqListener

Diameter S6a Client Session implementation

Author:
Alexandre Mendonca

Field Summary
protected  long appId
           
protected  IClientS6aSessionData 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
S6aClientSessionImpl(IClientS6aSessionData sessionData, IS6aMessageFactory fct, ISessionFactory sf, ClientS6aSessionListener lst)
           
 
Method Summary
 boolean equals(java.lang.Object obj)
           
<E> E
getState(java.lang.Class<E> stateType)
           
 boolean handleEvent(StateEvent event)
           
 int hashCode()
           
 void onTimer(java.lang.String timerName)
           
 Answer processRequest(Request request)
           
 void receivedSuccessMessage(Request request, Answer answer)
           
 void release()
           
protected  void send(org.jdiameter.client.impl.app.s6a.Event.Type type, AppEvent request, AppEvent answer)
           
 void sendAuthenticationInformationRequest(JAuthenticationInformationRequest request)
           
 void sendCancelLocationAnswer(JCancelLocationAnswer answer)
           
 void sendDeleteSubscriberDataAnswer(JDeleteSubscriberDataAnswer answer)
           
 void sendInsertSubscriberDataAnswer(JInsertSubscriberDataAnswer answer)
           
 void sendNotifyRequest(JNotifyRequest request)
           
 void sendPurgeUERequest(JPurgeUERequest request)
           
 void sendResetAnswer(JResetAnswer answer)
           
 void sendUpdateLocationRequest(JUpdateLocationRequest request)
           
protected  void setState(S6aSessionState newState)
           
 void timeoutExpired(Request request)
           
 
Methods inherited from class org.jdiameter.common.impl.app.s6a.S6aSession
addStateChangeNotification, cancelMsgTimer, 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 IClientS6aSessionData sessionData
Constructor Detail

S6aClientSessionImpl

public S6aClientSessionImpl(IClientS6aSessionData sessionData,
                            IS6aMessageFactory fct,
                            ISessionFactory sf,
                            ClientS6aSessionListener lst)
Method Detail

getState

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

processRequest

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

sendAuthenticationInformationRequest

public void sendAuthenticationInformationRequest(JAuthenticationInformationRequest request)
                                          throws InternalException,
                                                 IllegalDiameterStateException,
                                                 RouteException,
                                                 OverloadException
Specified by:
sendAuthenticationInformationRequest in interface ClientS6aSession
Throws:
InternalException
IllegalDiameterStateException
RouteException
OverloadException

sendPurgeUERequest

public void sendPurgeUERequest(JPurgeUERequest request)
                        throws InternalException,
                               IllegalDiameterStateException,
                               RouteException,
                               OverloadException
Specified by:
sendPurgeUERequest in interface ClientS6aSession
Throws:
InternalException
IllegalDiameterStateException
RouteException
OverloadException

sendNotifyRequest

public void sendNotifyRequest(JNotifyRequest request)
                       throws InternalException,
                              IllegalDiameterStateException,
                              RouteException,
                              OverloadException
Specified by:
sendNotifyRequest in interface ClientS6aSession
Throws:
InternalException
IllegalDiameterStateException
RouteException
OverloadException

sendUpdateLocationRequest

public void sendUpdateLocationRequest(JUpdateLocationRequest request)
                               throws InternalException,
                                      IllegalDiameterStateException,
                                      RouteException,
                                      OverloadException
Specified by:
sendUpdateLocationRequest in interface ClientS6aSession
Throws:
InternalException
IllegalDiameterStateException
RouteException
OverloadException

sendCancelLocationAnswer

public void sendCancelLocationAnswer(JCancelLocationAnswer answer)
                              throws InternalException,
                                     IllegalDiameterStateException,
                                     RouteException,
                                     OverloadException
Specified by:
sendCancelLocationAnswer in interface ClientS6aSession
Throws:
InternalException
IllegalDiameterStateException
RouteException
OverloadException

sendInsertSubscriberDataAnswer

public void sendInsertSubscriberDataAnswer(JInsertSubscriberDataAnswer answer)
                                    throws InternalException,
                                           IllegalDiameterStateException,
                                           RouteException,
                                           OverloadException
Specified by:
sendInsertSubscriberDataAnswer in interface ClientS6aSession
Throws:
InternalException
IllegalDiameterStateException
RouteException
OverloadException

sendDeleteSubscriberDataAnswer

public void sendDeleteSubscriberDataAnswer(JDeleteSubscriberDataAnswer answer)
                                    throws InternalException,
                                           IllegalDiameterStateException,
                                           RouteException,
                                           OverloadException
Specified by:
sendDeleteSubscriberDataAnswer in interface ClientS6aSession
Throws:
InternalException
IllegalDiameterStateException
RouteException
OverloadException

sendResetAnswer

public void sendResetAnswer(JResetAnswer answer)
                     throws InternalException,
                            IllegalDiameterStateException,
                            RouteException,
                            OverloadException
Specified by:
sendResetAnswer in interface ClientS6aSession
Throws:
InternalException
IllegalDiameterStateException
RouteException
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>

send

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

handleEvent

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

setState

protected void setState(S6aSessionState newState)

onTimer

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

hashCode

public int hashCode()
Overrides:
hashCode in class S6aSession

equals

public boolean equals(java.lang.Object obj)
Overrides:
equals in class S6aSession

release

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


Copyright © 2014. All Rights Reserved.