org.jdiameter.client.impl.app.cxdx
Class CxDxClientSessionImpl

java.lang.Object
  extended by org.jdiameter.common.impl.app.AppSessionImpl
      extended by org.jdiameter.common.impl.app.cxdx.CxDxSession
          extended by org.jdiameter.client.impl.app.cxdx.CxDxClientSessionImpl
All Implemented Interfaces:
java.io.Serializable, org.jdiameter.api.app.AppSession, org.jdiameter.api.app.StateMachine, org.jdiameter.api.cxdx.ClientCxDxSession, org.jdiameter.api.EventListener<org.jdiameter.api.Request,org.jdiameter.api.Answer>, org.jdiameter.api.NetworkReqListener

public class CxDxClientSessionImpl
extends CxDxSession
implements org.jdiameter.api.cxdx.ClientCxDxSession, org.jdiameter.api.EventListener<org.jdiameter.api.Request,org.jdiameter.api.Answer>, org.jdiameter.api.NetworkReqListener

Start time:16:23:22 2009-08-17
Project: diameter-parent

Author:
Bartosz Baranowski
See Also:
Serialized Form

Field Summary
protected  long appId
           
 
Fields inherited from class org.jdiameter.common.impl.app.cxdx.CxDxSession
_TX_TIMEOUT, messageFactory, scheduler, sendAndStateLock, sf, state, stateListeners, timeoutTaskFuture
 
Fields inherited from class org.jdiameter.common.impl.app.AppSessionImpl
session
 
Constructor Summary
CxDxClientSessionImpl(ICxDxMessageFactory fct, org.jdiameter.api.SessionFactory sf, org.jdiameter.api.cxdx.ClientCxDxSessionListener lst)
           
CxDxClientSessionImpl(java.lang.String sessionId, ICxDxMessageFactory fct, org.jdiameter.api.SessionFactory sf, org.jdiameter.api.cxdx.ClientCxDxSessionListener lst)
           
 
Method Summary
<E> E
getState(java.lang.Class<E> stateType)
           
 boolean handleEvent(org.jdiameter.api.app.StateEvent event)
           
 org.jdiameter.api.Answer processRequest(org.jdiameter.api.Request request)
           
 void receivedSuccessMessage(org.jdiameter.api.Request request, org.jdiameter.api.Answer answer)
           
protected  void send(org.jdiameter.client.impl.app.cxdx.Event.Type type, org.jdiameter.api.app.AppEvent request, org.jdiameter.api.app.AppEvent answer)
           
 void sendLocationInformationRequest(org.jdiameter.api.cxdx.events.JLocationInfoRequest request)
           
 void sendMultimediaAuthRequest(org.jdiameter.api.cxdx.events.JMultimediaAuthRequest request)
           
 void sendPushProfileAnswer(org.jdiameter.api.cxdx.events.JPushProfileAnswer answer)
           
 void sendRegistrationTerminationAnswer(org.jdiameter.api.cxdx.events.JRegistrationTerminationAnswer answer)
           
 void sendServerAssignmentRequest(org.jdiameter.api.cxdx.events.JServerAssignmentRequest request)
           
 void sendUserAuthorizationRequest(org.jdiameter.api.cxdx.events.JUserAuthorizationRequest request)
           
protected  void setState(CxDxSessionState newState)
           
 void timeoutExpired(org.jdiameter.api.Request request)
           
 
Methods inherited from class org.jdiameter.common.impl.app.cxdx.CxDxSession
addStateChangeNotification, isStateless, removeStateChangeNotification
 
Methods inherited from class org.jdiameter.common.impl.app.AppSessionImpl
getCreationTime, getLastAccessedTime, getSessionAppId, getSessions, isValid, release
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.jdiameter.api.app.AppSession
getCreationTime, getLastAccessedTime, getSessionAppId, getSessions, isStateless, isValid, release
 
Methods inherited from interface org.jdiameter.api.app.StateMachine
addStateChangeNotification, removeStateChangeNotification
 

Field Detail

appId

protected long appId
Constructor Detail

CxDxClientSessionImpl

public CxDxClientSessionImpl(ICxDxMessageFactory fct,
                             org.jdiameter.api.SessionFactory sf,
                             org.jdiameter.api.cxdx.ClientCxDxSessionListener lst)

CxDxClientSessionImpl

public CxDxClientSessionImpl(java.lang.String sessionId,
                             ICxDxMessageFactory fct,
                             org.jdiameter.api.SessionFactory sf,
                             org.jdiameter.api.cxdx.ClientCxDxSessionListener lst)
Method Detail

getState

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

processRequest

public org.jdiameter.api.Answer processRequest(org.jdiameter.api.Request request)
Specified by:
processRequest in interface org.jdiameter.api.NetworkReqListener

sendLocationInformationRequest

public void sendLocationInformationRequest(org.jdiameter.api.cxdx.events.JLocationInfoRequest request)
                                    throws org.jdiameter.api.InternalException,
                                           org.jdiameter.api.IllegalDiameterStateException,
                                           org.jdiameter.api.RouteException,
                                           org.jdiameter.api.OverloadException
Specified by:
sendLocationInformationRequest in interface org.jdiameter.api.cxdx.ClientCxDxSession
Throws:
org.jdiameter.api.InternalException
org.jdiameter.api.IllegalDiameterStateException
org.jdiameter.api.RouteException
org.jdiameter.api.OverloadException

sendMultimediaAuthRequest

public void sendMultimediaAuthRequest(org.jdiameter.api.cxdx.events.JMultimediaAuthRequest request)
                               throws org.jdiameter.api.InternalException,
                                      org.jdiameter.api.IllegalDiameterStateException,
                                      org.jdiameter.api.RouteException,
                                      org.jdiameter.api.OverloadException
Specified by:
sendMultimediaAuthRequest in interface org.jdiameter.api.cxdx.ClientCxDxSession
Throws:
org.jdiameter.api.InternalException
org.jdiameter.api.IllegalDiameterStateException
org.jdiameter.api.RouteException
org.jdiameter.api.OverloadException

sendServerAssignmentRequest

public void sendServerAssignmentRequest(org.jdiameter.api.cxdx.events.JServerAssignmentRequest request)
                                 throws org.jdiameter.api.InternalException,
                                        org.jdiameter.api.IllegalDiameterStateException,
                                        org.jdiameter.api.RouteException,
                                        org.jdiameter.api.OverloadException
Specified by:
sendServerAssignmentRequest in interface org.jdiameter.api.cxdx.ClientCxDxSession
Throws:
org.jdiameter.api.InternalException
org.jdiameter.api.IllegalDiameterStateException
org.jdiameter.api.RouteException
org.jdiameter.api.OverloadException

sendUserAuthorizationRequest

public void sendUserAuthorizationRequest(org.jdiameter.api.cxdx.events.JUserAuthorizationRequest request)
                                  throws org.jdiameter.api.InternalException,
                                         org.jdiameter.api.IllegalDiameterStateException,
                                         org.jdiameter.api.RouteException,
                                         org.jdiameter.api.OverloadException
Specified by:
sendUserAuthorizationRequest in interface org.jdiameter.api.cxdx.ClientCxDxSession
Throws:
org.jdiameter.api.InternalException
org.jdiameter.api.IllegalDiameterStateException
org.jdiameter.api.RouteException
org.jdiameter.api.OverloadException

sendPushProfileAnswer

public void sendPushProfileAnswer(org.jdiameter.api.cxdx.events.JPushProfileAnswer answer)
                           throws org.jdiameter.api.InternalException,
                                  org.jdiameter.api.IllegalDiameterStateException,
                                  org.jdiameter.api.RouteException,
                                  org.jdiameter.api.OverloadException
Specified by:
sendPushProfileAnswer in interface org.jdiameter.api.cxdx.ClientCxDxSession
Throws:
org.jdiameter.api.InternalException
org.jdiameter.api.IllegalDiameterStateException
org.jdiameter.api.RouteException
org.jdiameter.api.OverloadException

sendRegistrationTerminationAnswer

public void sendRegistrationTerminationAnswer(org.jdiameter.api.cxdx.events.JRegistrationTerminationAnswer answer)
                                       throws org.jdiameter.api.InternalException,
                                              org.jdiameter.api.IllegalDiameterStateException,
                                              org.jdiameter.api.RouteException,
                                              org.jdiameter.api.OverloadException
Specified by:
sendRegistrationTerminationAnswer in interface org.jdiameter.api.cxdx.ClientCxDxSession
Throws:
org.jdiameter.api.InternalException
org.jdiameter.api.IllegalDiameterStateException
org.jdiameter.api.RouteException
org.jdiameter.api.OverloadException

receivedSuccessMessage

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

timeoutExpired

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

send

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

handleEvent

public boolean handleEvent(org.jdiameter.api.app.StateEvent event)
                    throws org.jdiameter.api.InternalException,
                           org.jdiameter.api.OverloadException
Specified by:
handleEvent in interface org.jdiameter.api.app.StateMachine
Throws:
org.jdiameter.api.InternalException
org.jdiameter.api.OverloadException

setState

protected void setState(CxDxSessionState newState)


Copyright © 2010. All Rights Reserved.