|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.jdiameter.client.impl.router.RouterImpl
public class RouterImpl
Diameter Routing Core
| Nested Class Summary | |
|---|---|
protected class |
RouterImpl.AnswerEntry
|
protected class |
RouterImpl.RedirectEntry
|
| Field Summary | |
|---|---|
static int |
ALL_APPLICATION
|
static int |
ALL_HOST
|
static int |
ALL_REALM
|
static int |
ALL_SESSION
|
static int |
ALL_USER
|
protected IConcurrentFactory |
concurrentFactory
|
protected IContainer |
container
|
static int |
DONT_CACHE
|
protected boolean |
isStopped
|
protected MetaData |
metaData
|
static int |
REALM_AND_APPLICATION
|
protected IRealmTable |
realmTable
|
int |
REDIRECT_TABLE_SIZE
|
protected java.util.List<RouterImpl.RedirectEntry> |
redirectTable
|
protected java.util.concurrent.locks.ReadWriteLock |
redirectTableLock
|
static int |
REQUEST_TABLE_CLEAR_SIZE
|
static int |
REQUEST_TABLE_SIZE
|
protected java.util.Map<java.lang.String,RouterImpl.AnswerEntry> |
requestEntryMap
|
protected java.util.concurrent.locks.Lock |
requestEntryTableLock
|
| Constructor Summary | |
|---|---|
RouterImpl(IContainer container,
IConcurrentFactory concurrentFactory,
IRealmTable realmTable,
Configuration config,
MetaData aMetaData)
|
|
| Method Summary | |
|---|---|
void |
destroy()
Release all resources |
void |
garbageCollectRequestRouteInfo(IMessage message)
|
IPeer |
getPeer(IMessage message,
IPeerTable manager)
Return peer from inner peer table by predefined parameters. |
protected IPeer |
getPeerPredProcessing(IMessage message,
java.lang.String destRealm,
java.lang.String destHost)
|
IRealmTable |
getRealmTable()
Return realm table |
java.lang.String[] |
getRequestRouteInfo(IMessage message)
Return Request route info |
protected void |
loadConfiguration(Configuration config)
|
void |
processRedirectAnswer(IRequest request,
IAnswer answer,
IPeerTable table)
Called when redirect answer is received for request. |
void |
registerRequestRouteInfo(IRequest request)
Register route information by received request. |
protected IPeer |
selectPeer(java.util.List<IPeer> availablePeers)
|
void |
start()
Start inner time facilities |
void |
stop()
Stop inner time facilities |
boolean |
updateRoute(IRequest message)
Based on Redirect entries or any other factors, this method changes route information. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
public static final int DONT_CACHE
public static final int ALL_SESSION
public static final int ALL_REALM
public static final int REALM_AND_APPLICATION
public static final int ALL_APPLICATION
public static final int ALL_HOST
public static final int ALL_USER
protected MetaData metaData
protected IRealmTable realmTable
public final int REDIRECT_TABLE_SIZE
protected java.util.List<RouterImpl.RedirectEntry> redirectTable
protected IConcurrentFactory concurrentFactory
protected IContainer container
public static int REQUEST_TABLE_SIZE
public static int REQUEST_TABLE_CLEAR_SIZE
protected java.util.concurrent.locks.Lock requestEntryTableLock
protected java.util.concurrent.locks.ReadWriteLock redirectTableLock
protected java.util.Map<java.lang.String,RouterImpl.AnswerEntry> requestEntryMap
protected boolean isStopped
| Constructor Detail |
|---|
public RouterImpl(IContainer container,
IConcurrentFactory concurrentFactory,
IRealmTable realmTable,
Configuration config,
MetaData aMetaData)
| Method Detail |
|---|
protected void loadConfiguration(Configuration config)
public void registerRequestRouteInfo(IRequest request)
IRouter
registerRequestRouteInfo in interface IRouterrequest - requestpublic java.lang.String[] getRequestRouteInfo(IMessage message)
IRouter
getRequestRouteInfo in interface IRouterpublic void garbageCollectRequestRouteInfo(IMessage message)
garbageCollectRequestRouteInfo in interface IRouter
public IPeer getPeer(IMessage message,
IPeerTable manager)
throws RouteException,
AvpDataException
IRouterIRouter.updateRoute(org.jdiameter.client.api.IRequest).
getPeer in interface IRoutermessage - message with routed avpsmanager - instance of peer manager
RouteException
AvpDataExceptionpublic IRealmTable getRealmTable()
IRouter
getRealmTable in interface IRouter
public void processRedirectAnswer(IRequest request,
IAnswer answer,
IPeerTable table)
throws InternalException,
RouteException
IRouter
processRedirectAnswer in interface IRouterInternalException
RouteException
public boolean updateRoute(IRequest message)
throws RouteException,
AvpDataException
IRouter
updateRoute in interface IRouterRouteException
AvpDataException
protected IPeer getPeerPredProcessing(IMessage message,
java.lang.String destRealm,
java.lang.String destHost)
public void start()
IRouter
start in interface IRouterpublic void stop()
IRouter
stop in interface IRouterpublic void destroy()
IRouter
destroy in interface IRouterprotected IPeer selectPeer(java.util.List<IPeer> availablePeers)
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||