org.jdiameter.client.api.router
Interface IRouter

All Known Subinterfaces:
IRouter
All Known Implementing Classes:
RouterImpl, RouterImpl

public interface IRouter

This class describe Router functionality

Author:
erick.svenson@yahoo.com, Alexandre Mendonca , Bartosz Baranowski

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.
 IRealmTable getRealmTable()
          Return realm table
 java.lang.String[] getRequestRouteInfo(IMessage message)
          Return Request route info
 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.
 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.
 

Method Detail

getPeer

IPeer getPeer(IMessage message,
              IPeerTable manager)
              throws RouteException,
                     AvpDataException
Return peer from inner peer table by predefined parameters. Fetches peer based on message content, that is HBH or realm/host avp contents. Takes into consideration ApplicationId present in message to pick correct realm definition from RealmTable. This method should be called after updateRoute(org.jdiameter.client.api.IRequest).

Parameters:
message - message with routed avps
manager - instance of peer manager
Returns:
peer instance
Throws:
RouteException
AvpDataException

getRealmTable

IRealmTable getRealmTable()
Return realm table

Returns:
object representing realm table

registerRequestRouteInfo

void registerRequestRouteInfo(IRequest request)
Register route information by received request. This information will be used during answer routing.

Parameters:
request - request

getRequestRouteInfo

java.lang.String[] getRequestRouteInfo(IMessage message)
Return Request route info

Parameters:
hopByHopIndentifier - Hop-by-Hop Identifier
Returns:
Array (host and realm)

garbageCollectRequestRouteInfo

void garbageCollectRequestRouteInfo(IMessage message)

start

void start()
Start inner time facilities


stop

void stop()
Stop inner time facilities


destroy

void destroy()
Release all resources


processRedirectAnswer

void processRedirectAnswer(IRequest request,
                           IAnswer answer,
                           IPeerTable table)
                           throws InternalException,
                                  RouteException
Called when redirect answer is received for request. This method update redirect host information and routes to new destination.

Parameters:
request -
answer -
table -
Throws:
InternalException
RouteException

updateRoute

boolean updateRoute(IRequest message)
                    throws RouteException,
                           AvpDataException
Based on Redirect entries or any other factors, this method changes route information.

Parameters:
message -
Returns:
Throws:
RouteException
AvpDataException


Copyright © 2014. All Rights Reserved.