de.fhg.fokus.diameter.DiameterPeer.peer.Peer Class Reference

List of all members.

Detailed Description

This class defines a Diameter Peer.

Author:
Dragos Vingarzan vingarzan -at- fokus dot fraunhofer dot de

Definition at line 51 of file Peer.java.

Public Member Functions

 Peer (String fqdn, String realm, int port)
 Creates a peer given the parameteres.
boolean sendMessage (DiameterMessage msg)
 Send a Diameter messager.
void refreshTimer ()
 Renew this timer, so that a DWR/DWA exchange will be postponed.

Public Attributes

DiameterPeer diameterPeer
 DiameterPeer API reference.
String FQDN
 Fully Qualified Domain Name of the peer.
int port
 Port number to connect to.
String Realm
 Realm.
int state = StateMachine.Closed
 State in the state machine.
Communicator I_comm
 Communicator connected to the peer.
Communicator R_comm
 Communicator for parallel first Receiver Connection.
long lastReceiveTime
 Last time we received a message from this peer.
boolean waitingDWA = false
 If we send a DWR and we are waiting for DWA.
boolean isDynamicPeer = false
 If the peer is dynamic and should be removed on disconnect.
Vector< ApplicationAuthApp
 Supported auth-application ids.
Vector< ApplicationAcctApp
 Supported acct-application ids.

Static Private Attributes

static final Logger LOGGER = Logger.getLogger(Peer.class)
 The logger.


Constructor & Destructor Documentation

de.fhg.fokus.diameter.DiameterPeer.peer.Peer.Peer ( String  fqdn,
String  realm,
int  port 
)

Creates a peer given the parameteres.

Parameters:
fqdn 
realm 
port 

Definition at line 101 of file Peer.java.

References de.fhg.fokus.diameter.DiameterPeer.peer.Peer.FQDN, and de.fhg.fokus.diameter.DiameterPeer.peer.Peer.Realm.

00101                                                      {
00102         FQDN = fqdn;
00103         Realm = realm;
00104         this.port = port;
00105         this.AuthApp = new Vector<Application>();
00106         this.AcctApp = new Vector<Application>();
00107     }


Member Function Documentation

boolean de.fhg.fokus.diameter.DiameterPeer.peer.Peer.sendMessage ( DiameterMessage  msg  ) 

Send a Diameter messager.

A Peer found out in the Peer list according to the destination host or realm in the DiameterMessage will handle this message.

Parameters:
msg DiameterMessage being sent.
Returns:
true if send successfully, otherwise false.

Definition at line 118 of file Peer.java.

References de.fhg.fokus.diameter.DiameterPeer.peer.Peer.I_comm, de.fhg.fokus.diameter.DiameterPeer.peer.Peer.R_comm, de.fhg.fokus.diameter.DiameterPeer.transport.Communicator.sendMessage(), and de.fhg.fokus.diameter.DiameterPeer.peer.Peer.state.

Referenced by de.fhg.fokus.diameter.DiameterPeer.DiameterPeer.sendMessage().

00119     {
00120         switch (this.state){
00121             case StateMachine.I_Open: 
00122                 //commented because it is processed by peer... anyway, useless...
00123                 //StateMachine.process(this,StateMachine.Send_Message,msg,this.I_comm);
00124                 return I_comm.sendMessage(msg);
00125             case StateMachine.R_Open:
00126                 //commented because it is processed by peer... anyway, useless...
00127                 //StateMachine.process(this,StateMachine.Send_Message,msg,this.R_comm);
00128                 return R_comm.sendMessage(msg);
00129             default:
00130                 System.err.println("Peer: Can't send message when not connected");
00131                 return false;
00132         }
00133     }

void de.fhg.fokus.diameter.DiameterPeer.peer.Peer.refreshTimer (  ) 

Renew this timer, so that a DWR/DWA exchange will be postponed.

Definition at line 139 of file Peer.java.

Referenced by de.fhg.fokus.diameter.DiameterPeer.peer.StateMachine.R_Accept(), de.fhg.fokus.diameter.DiameterPeer.peer.PeerManager.run(), and de.fhg.fokus.diameter.DiameterPeer.peer.StateMachine.Snd_Message().

00140     {
00141         this.lastReceiveTime = System.currentTimeMillis();
00142     }


Member Data Documentation

final Logger de.fhg.fokus.diameter.DiameterPeer.peer.Peer.LOGGER = Logger.getLogger(Peer.class) [static, private]

The logger.

Definition at line 54 of file Peer.java.

DiameterPeer de.fhg.fokus.diameter.DiameterPeer.peer.Peer.diameterPeer

DiameterPeer API reference.

Definition at line 57 of file Peer.java.

Referenced by de.fhg.fokus.diameter.DiameterPeer.transport.Communicator.Communicator(), de.fhg.fokus.diameter.DiameterPeer.peer.PeerManager.configurePeer(), de.fhg.fokus.diameter.DiameterPeer.peer.StateMachine.Elect(), de.fhg.fokus.diameter.DiameterPeer.peer.StateMachine.I_Snd_CER(), de.fhg.fokus.diameter.DiameterPeer.peer.StateMachine.Process_CER(), de.fhg.fokus.diameter.DiameterPeer.peer.StateMachine.Rcv_Process(), de.fhg.fokus.diameter.DiameterPeer.DiameterWorker.run(), de.fhg.fokus.diameter.DiameterPeer.peer.StateMachine.Snd_CE_add_applications(), de.fhg.fokus.diameter.DiameterPeer.peer.StateMachine.Snd_CEA(), de.fhg.fokus.diameter.DiameterPeer.peer.StateMachine.Snd_DPA(), de.fhg.fokus.diameter.DiameterPeer.peer.StateMachine.Snd_DPR(), de.fhg.fokus.diameter.DiameterPeer.peer.StateMachine.Snd_DWA(), and de.fhg.fokus.diameter.DiameterPeer.peer.StateMachine.Snd_DWR().

String de.fhg.fokus.diameter.DiameterPeer.peer.Peer.FQDN

Fully Qualified Domain Name of the peer.

Definition at line 60 of file Peer.java.

Referenced by de.fhg.fokus.diameter.DiameterPeer.peer.PeerManager.getPeerByFQDN(), de.fhg.fokus.diameter.DiameterPeer.peer.StateMachine.I_Snd_Conn_Req(), de.fhg.fokus.diameter.DiameterPeer.peer.Peer.Peer(), de.fhg.fokus.diameter.DiameterPeer.peer.PeerManager.run(), and de.fhg.fokus.diameter.DiameterPeer.DiameterWorker.run().

int de.fhg.fokus.diameter.DiameterPeer.peer.Peer.port

Port number to connect to.

Definition at line 63 of file Peer.java.

Referenced by de.fhg.fokus.diameter.DiameterPeer.peer.StateMachine.I_Snd_Conn_Req().

String de.fhg.fokus.diameter.DiameterPeer.peer.Peer.Realm

Realm.

Definition at line 66 of file Peer.java.

Referenced by de.fhg.fokus.diameter.DiameterPeer.peer.Peer.Peer().

int de.fhg.fokus.diameter.DiameterPeer.peer.Peer.state = StateMachine.Closed

State in the state machine.

Definition at line 69 of file Peer.java.

Referenced by de.fhg.fokus.diameter.DiameterPeer.routing.RoutingEngine.getRoute(), de.fhg.fokus.diameter.DiameterPeer.peer.StateMachine.process(), de.fhg.fokus.diameter.DiameterPeer.transport.Communicator.processMessage(), de.fhg.fokus.diameter.DiameterPeer.peer.PeerManager.run(), de.fhg.fokus.diameter.DiameterPeer.peer.Peer.sendMessage(), de.fhg.fokus.diameter.DiameterPeer.DiameterPeer.sendMessage(), de.fhg.fokus.diameter.DiameterPeer.peer.StateMachine.Snd_DPR(), and de.fhg.fokus.diameter.DiameterPeer.peer.StateMachine.Snd_DWR().

Communicator de.fhg.fokus.diameter.DiameterPeer.peer.Peer.I_comm

Communicator connected to the peer.

Definition at line 72 of file Peer.java.

Referenced by de.fhg.fokus.diameter.DiameterPeer.peer.StateMachine.Cleanup(), de.fhg.fokus.diameter.DiameterPeer.peer.StateMachine.I_Disc(), de.fhg.fokus.diameter.DiameterPeer.peer.StateMachine.I_Snd_CER(), de.fhg.fokus.diameter.DiameterPeer.peer.StateMachine.I_Snd_Conn_Req(), de.fhg.fokus.diameter.DiameterPeer.peer.StateMachine.process(), de.fhg.fokus.diameter.DiameterPeer.transport.Communicator.run(), de.fhg.fokus.diameter.DiameterPeer.peer.Peer.sendMessage(), de.fhg.fokus.diameter.DiameterPeer.peer.StateMachine.Snd_DPR(), and de.fhg.fokus.diameter.DiameterPeer.peer.StateMachine.Snd_DWR().

Communicator de.fhg.fokus.diameter.DiameterPeer.peer.Peer.R_comm

Communicator for parallel first Receiver Connection.

Definition at line 75 of file Peer.java.

Referenced by de.fhg.fokus.diameter.DiameterPeer.peer.StateMachine.Cleanup(), de.fhg.fokus.diameter.DiameterPeer.peer.StateMachine.process(), de.fhg.fokus.diameter.DiameterPeer.peer.StateMachine.R_Accept(), de.fhg.fokus.diameter.DiameterPeer.peer.StateMachine.R_Disc(), de.fhg.fokus.diameter.DiameterPeer.peer.Peer.sendMessage(), de.fhg.fokus.diameter.DiameterPeer.peer.StateMachine.Snd_CEA(), de.fhg.fokus.diameter.DiameterPeer.peer.StateMachine.Snd_DPR(), and de.fhg.fokus.diameter.DiameterPeer.peer.StateMachine.Snd_DWR().

long de.fhg.fokus.diameter.DiameterPeer.peer.Peer.lastReceiveTime

Last time we received a message from this peer.

Definition at line 78 of file Peer.java.

Referenced by de.fhg.fokus.diameter.DiameterPeer.peer.PeerManager.configurePeer(), and de.fhg.fokus.diameter.DiameterPeer.peer.PeerManager.run().

boolean de.fhg.fokus.diameter.DiameterPeer.peer.Peer.waitingDWA = false

If we send a DWR and we are waiting for DWA.

Definition at line 81 of file Peer.java.

Referenced by de.fhg.fokus.diameter.DiameterPeer.peer.StateMachine.Process_DWA(), and de.fhg.fokus.diameter.DiameterPeer.peer.PeerManager.run().

boolean de.fhg.fokus.diameter.DiameterPeer.peer.Peer.isDynamicPeer = false

If the peer is dynamic and should be removed on disconnect.

Definition at line 84 of file Peer.java.

Referenced by de.fhg.fokus.diameter.DiameterPeer.peer.PeerManager.addDynamicPeer(), and de.fhg.fokus.diameter.DiameterPeer.peer.PeerManager.run().

Vector<Application> de.fhg.fokus.diameter.DiameterPeer.peer.Peer.AuthApp

Supported auth-application ids.

Definition at line 87 of file Peer.java.

Referenced by de.fhg.fokus.diameter.DiameterPeer.peer.StateMachine.Process_CER().

Vector<Application> de.fhg.fokus.diameter.DiameterPeer.peer.Peer.AcctApp

Supported acct-application ids.

Definition at line 90 of file Peer.java.

Referenced by de.fhg.fokus.diameter.DiameterPeer.peer.StateMachine.Process_CER().


The documentation for this class was generated from the following file:
Generated on Thu Oct 23 04:07:37 2008 for Open IMS Core JavaDiameterPeer by  doxygen 1.5.2