Class Class0Adapter
- java.lang.Object
-
- com.automation_pros.odva.cip.core.Class0Adapter
-
- All Implemented Interfaces:
AppConsumer
,AppLinkBase
,AppProducer
public class Class0Adapter extends java.lang.Object implements AppConsumer, AppProducer
Add or remove 16-bit sequence numbers for class zero connections to applications that expect them.
-
-
Field Summary
Fields Modifier and Type Field Description protected AppConsumer
ac
protected AppProducer
ap
protected java.util.concurrent.atomic.AtomicInteger
seq
-
Constructor Summary
Constructors Constructor Description Class0Adapter(java.lang.Object obj)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
appConsume(long txID, java.nio.ByteBuffer payload)
Add the 16-bit sequence number needed for this application.void
appProduce(long txID, java.nio.ByteBuffer payload)
Discard the 16-bit sequence number provided by the applicaton.void
disconnect()
When a connection is closed or an application forces a disconnect, this shutdown method is called to clean up.int
getProduceRTF()
An Application Producer must supply an indicator of the desired real-time mode handling format.int
getRealTimeMode()
When an application needs to encode a packet, and the producer expects a real-time mode indicator, the application obtains the 32-bit mode indicator from the producer with this method.boolean
isDisconnected()
-
-
-
Field Detail
-
ac
protected final AppConsumer ac
-
ap
protected final AppProducer ap
-
seq
protected final java.util.concurrent.atomic.AtomicInteger seq
-
-
Method Detail
-
appProduce
public void appProduce(long txID, java.nio.ByteBuffer payload)
Discard the 16-bit sequence number provided by the applicaton.- Specified by:
appProduce
in interfaceAppProducer
- Parameters:
txID
- Transport layer transaction ID uniquely identifying this message or reply, if applicable. Zero for I/O connections.payload
- Complete CIP data payload, including CIP sequence number, if any.
-
appConsume
public void appConsume(long txID, java.nio.ByteBuffer payload)
Add the 16-bit sequence number needed for this application.- Specified by:
appConsume
in interfaceAppConsumer
- Parameters:
txID
- Transport layer transaction ID to use with any reply.payload
- Complete CIP data payload, including CIP sequence number, if any.
-
disconnect
public void disconnect()
Description copied from interface:AppLinkBase
When a connection is closed or an application forces a disconnect, this shutdown method is called to clean up. It should close the connection when called by the application.- Specified by:
disconnect
in interfaceAppLinkBase
-
isDisconnected
public boolean isDisconnected()
- Specified by:
isDisconnected
in interfaceAppLinkBase
-
getProduceRTF
public int getProduceRTF()
Description copied from interface:AppProducer
An Application Producer must supply an indicator of the desired real-time mode handling format. The following values are allowed: -1: Application default 0: Modeless 1: Zero length packet==idle 3: Heartbeat 4: 32-bit run/idle header is present 5: Safety- Specified by:
getProduceRTF
in interfaceAppProducer
- Returns:
- Produced payload real-time mode format
-
getRealTimeMode
public int getRealTimeMode()
Description copied from interface:AppProducer
When an application needs to encode a packet, and the producer expects a real-time mode indicator, the application obtains the 32-bit mode indicator from the producer with this method.- Specified by:
getRealTimeMode
in interfaceAppProducer
- Returns:
- 32-bit run/idle header to encode or imply
-
-