planet.symphony.behaviours
Class QueryConnectBehaviour

java.lang.Object
  extended byplanet.symphony.behaviours.QueryConnectBehaviour
All Implemented Interfaces:
Behaviour, java.io.Serializable

public class QueryConnectBehaviour
extends java.lang.Object
implements Behaviour

QueryConnectBehaviour determines if the QUERY_CONNECT issuer can connect or not to a remote node. This Behaviour is provided in order to stablish long links between nodes. The behaviour checks if already holds a connection from the incoming node looking up to outcoming, incoming and neighbour sets. Otherwise, it accepts the new connection only if the incoming connection's rate is fewer than K.

Author:
Marc Sanchez , Helio Tejedor
See Also:
Serialized Form

Constructor Summary
QueryConnectBehaviour()
           
 
Method Summary
 java.lang.String getName()
           
 void onMessage(RouteMessage msg, Node node)
          Given a RouteMessage and a Node as input, onMessage's method do execution steps for the behaviour.
 java.lang.String toString()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

QueryConnectBehaviour

public QueryConnectBehaviour()
Method Detail

onMessage

public void onMessage(RouteMessage msg,
                      Node node)
Given a RouteMessage and a Node as input, onMessage's method do execution steps for the behaviour. Node should be casted to Node's class in order to manage data structures and protocol of designed overlay.

Specified by:
onMessage in interface Behaviour
Parameters:
msg - RouteMessage taken as input.
node - Node taken as input.
See Also:
RouteMessagePoolImpl

getName

public java.lang.String getName()
Specified by:
getName in interface Behaviour
Returns:
Returns the name of behaviour.

toString

public java.lang.String toString()
Specified by:
toString in interface Behaviour
Returns:
Returns a string representation of the behaviour. In general, the toString method returns a string that "textually represents" this behaviour. The result should be a concise but informative representation that is easy for a person to read.