cgl.narada.transport.ipsec
Class IPSecLink

java.lang.Object
  extended by cgl.narada.transport.MonitoredLink
      extended by cgl.narada.transport.ipsec.IPSecLink
All Implemented Interfaces:
Link, TransportDebugFlags

public class IPSecLink
extends MonitoredLink
implements Link, TransportDebugFlags

This is an IPSec implementation of the Link interface. This implementation of the Link is different from other implementations, in that one cannot use the IPSecLink to send or receive data.


Field Summary
 
Fields inherited from interface cgl.narada.transport.TransportDebugFlags
IPSecLink_Debug, IPSecLinkFactory_Debug, IPSecReceiverThread_Debug, IPSecSenderThread_Debug, IPSecServerThread_Debug, MulticastLink_Debug, MulticastLinkFactory_Debug, MulticastReceiverThread_Debug, MulticastSenderThread_Debug, NIOTCPLink_Debug, NIOTCPLinkFactory_Debug, NIOTCPReceiverThread_Debug, NIOTCPSenderThread_Debug, NIOTCPServerThread_Debug, PoolTCPLink_Debug, PoolTCPLinkFactory_Debug, PoolTCPLinkReceiver_Debug, PoolTCPLinkSender_Debug, PoolTCPServerThread_Debug, PTCPLink_Debug, PTCPLinkFactory_Debug, PTCPReceiverThread_Debug, PTCPSenderThread_Debug, PTCPServerThread_Debug, ReceiveTask_Debug, RTPLink_Debug, RTPLinkFactory_Debug, RTPReceiverThread_Debug, RTPSenderThread_Debug, SendTask_Debug, TCPLink_Debug, TCPLinkFactory_Debug, TCPReceiverThread_Debug, TCPSenderThread_Debug, TCPServerThread_Debug, TransmissionManager_Debug, TransportHandlerImpl_Debug, UDPLink_Debug, UDPLinkFactory_Debug, UDPReceiverThread_Debug, UDPSenderThread_Debug
 
Constructor Summary
IPSecLink()
           
 
Method Summary
 void closeLink()
          Garbage collect resources associated with this link.
 String getLinkId()
          Retrieves the String based id of the link
 String getLinkType()
          Returns the type of the communication link
 Object getNaradaBrokeringId()
          Returns the NaradaBrokeringId associated with this link
 String getSecurityInformation()
          Information pertaining to the security strategy adopted for this communication link
 TransportHandler getTransportHandler()
           
 boolean isSecure()
          Indicates weather communication is encrypted on this link
 void processLossOfSocketConnection(boolean senderNotification)
          If the senderNotification is false, it implies that the detection of connection loss has been reported by the receiver thread.
 void sendData(byte[] data)
          The method used to send data over a communication link
 void sendData(byte[] data, String dataType)
          The method used to send data over a communication link, this method also includes information regarding the type (audio/video/xml-attachments etc.) of the data encapsulated within the data stream.
 void sendPingReply()
          Send the ping back
 void setKeepAliveTime(long keepAliveTime)
          Set the amount of time after which resources associated with this link need to be garbage collected.
 void setLinkId(String stringId)
          Sets the Id of the communication link
 void setLinkMigrationConstraint(String constraint, String linkType)
          Sets the conditions under which communication protocols need to be switched and the transport link that it should be switched to under the condition.
 void setLinkStatusInterval(long interval)
          Check the status of the communication link at intervals specified in the argument of this method
 void setNaradaBrokeringId(Object brokeringId)
          The Naradabrokering Id of the node this link interacts with
 void startLinkServices()
           
 
Methods inherited from class cgl.narada.transport.MonitoredLink
disablePerformanceFactor, enablePerformanceFactor, getAllPerformanceData, getLatencies, getPerformanceData, getPerformanceFactorsMeasured, performanceGatheringEnabled, processPerformancePackets, sendPerformancePackets, setPerformanceGathering
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface cgl.narada.transport.Link
getAllPerformanceData, getPerformanceData, getPerformanceFactorsMeasured, performanceGatheringEnabled, setPerformanceGathering
 

Constructor Detail

IPSecLink

public IPSecLink()
Method Detail

startLinkServices

public void startLinkServices()

sendData

public void sendData(byte[] data)
              throws TransportException
The method used to send data over a communication link

Specified by:
sendData in interface Link
Throws:
TransportException

sendData

public void sendData(byte[] data,
                     String dataType)
              throws TransportException
The method used to send data over a communication link, this method also includes information regarding the type (audio/video/xml-attachments etc.) of the data encapsulated within the data stream. Using this information links can optimally flush/send data across the link

Specified by:
sendData in interface Link
Throws:
TransportException

setLinkId

public void setLinkId(String stringId)
Sets the Id of the communication link

Specified by:
setLinkId in interface Link

getLinkId

public String getLinkId()
Retrieves the String based id of the link

Specified by:
getLinkId in interface Link

setNaradaBrokeringId

public void setNaradaBrokeringId(Object brokeringId)
The Naradabrokering Id of the node this link interacts with

Specified by:
setNaradaBrokeringId in interface Link

getNaradaBrokeringId

public Object getNaradaBrokeringId()
Returns the NaradaBrokeringId associated with this link

Specified by:
getNaradaBrokeringId in interface Link

getLinkType

public String getLinkType()
Returns the type of the communication link

Specified by:
getLinkType in interface Link

setLinkMigrationConstraint

public void setLinkMigrationConstraint(String constraint,
                                       String linkType)
Sets the conditions under which communication protocols need to be switched and the transport link that it should be switched to under the condition. Multiple constraints can be set signifying migration to different protocols.

Specified by:
setLinkMigrationConstraint in interface Link

setLinkStatusInterval

public void setLinkStatusInterval(long interval)
Check the status of the communication link at intervals specified in the argument of this method

Specified by:
setLinkStatusInterval in interface Link

setKeepAliveTime

public void setKeepAliveTime(long keepAliveTime)
Set the amount of time after which resources associated with this link need to be garbage collected. A value of '0' indicates that this link needs to be active at all times.

Specified by:
setKeepAliveTime in interface Link

closeLink

public void closeLink()
Garbage collect resources associated with this link. Sockets need to be closed and any resources associated with communication, needs to be garbage collected

Specified by:
closeLink in interface Link

isSecure

public boolean isSecure()
Indicates weather communication is encrypted on this link

Specified by:
isSecure in interface Link

getSecurityInformation

public String getSecurityInformation()
Information pertaining to the security strategy adopted for this communication link

Specified by:
getSecurityInformation in interface Link

processLossOfSocketConnection

public void processLossOfSocketConnection(boolean senderNotification)
If the senderNotification is false, it implies that the detection of connection loss has been reported by the receiver thread. Proceed to garbage collect the sender thread. If the boolean variable is true, it implies that the receiver thread has to be garbage collected.


getTransportHandler

public TransportHandler getTransportHandler()

sendPingReply

public void sendPingReply()
Send the ping back



For comments and suggestions please send e-mail to The NaradaBrokering Project