Class LgxTag

    • Method Detail

      • onReplacement

        protected void onReplacement​(CipObject replacement)
        Description copied from class: CipObject
        When one object is replaced by another as a specific child segment of a specific parent, before the old object is shut down, this method provides an opportunity for the old object to interact with its replacement.
        Overrides:
        onReplacement in class CipObject
        Parameters:
        replacement - The object taking this object's place.
      • getDevice

        public LgxDevice getDevice()
        Description copied from class: CipObject
        CipObjects are expected to be organized as a tree, typically with a CipDevice at the root. (CipDevices can have a parent too, if an implementer chooses to represent a virtual chassis that way.)

        By default, any CipObject will simply ask its parent for the device if asked for the device. A CipDevice returns itself.

        Overrides:
        getDevice in class CipObject
        Returns:
        The CipDevice found in the parents of this object, if any.
      • getName

        public java.lang.String getName()
        Overrides:
        getName in class CipObject
      • doReadTag

        protected void doReadTag​(CipRequest request,
                                 java.nio.ByteBuffer payload,
                                 DataPathResolver rtag,
                                 int qty,
                                 int maxqty,
                                 int byteskip)
      • doWriteTag

        protected void doWriteTag​(CipRequest request,
                                  java.nio.ByteBuffer payload,
                                  DataPathResolver rtag,
                                  int qty,
                                  int maxqty,
                                  int byteskip)
      • service

        public void service​(CipObject appContext,
                            CipRequest request,
                            int nesting)
        Description copied from class: CipObject

        Execute a CIP service on the object, using the request supplied. Supply a reply to the request and/or throw an appropriate CipException. Replies are not required before this routine returns.

        Direct service() calls MUST NOT BLOCK. Any operation that will take any significant time must be delegated to an executor. "Significant" may vary by application, but typically would be in the fractional millisecond range.

        Specified by:
        service in interface AttributeHolder
        Overrides:
        service in class CipInstance
        Parameters:
        appContext - Root object for application path lookups. Generally a Mirrored Device from a port context.
        request - What to do and where to reply. Services to be handled by child objects are to be passed to their service() method with nesting+1.
        nesting - How many leading path segments items to skip when processing this request. Avoids copying the balance of an application path into a new request when passing a request to a child object.
      • getData

        public BaseDataType<?> getData()
        Description copied from interface: DataWrapper
        Many CIP objects wrap a CIP data type. This interface allows the member resolver to access fragments of complex wrapped data in a uniform way.
        Specified by:
        getData in interface DataWrapper
        Returns:
      • connect

        public AppConsumer connect​(AppOwner owner,
                                   ConxClass.CxParams params,
                                   byte dirtrigcls)
        Description copied from interface: Connectable
        This method requests that the given connection be assigned as the owner of this object and an appropriate AppConsumer shim be created to handle the incoming data. Application Consumer objects handle data flow from connections to application objects. The provided AppOwner instance includes appropriate buffer handling, including removal/use of CIP short sequence numbers and originator idle/run mode indicators. This class's shutdown() method is used to disconnect.
        Specified by:
        connect in interface Connectable
        dirtrigcls - Direction/Trigger/Class combination to use.
        Returns:
      • payloadBytes

        public int payloadBytes()
        Description copied from interface: Connectable
        Report number of payload bytes expected, other than the mode & CIP short sequence.
        Specified by:
        payloadBytes in interface Connectable
        Returns:
      • disconnect

        public void disconnect()
        Description copied from interface: Connectable
        This method forces any owner's shim to shutdown (breaking a connection if applicable), and if there was an owner, shuts down subscribers too.
        Specified by:
        disconnect in interface Connectable
      • getOwner

        public AppOwner getOwner()
        Description copied from interface: Connectable
        Obtain the current owner's shim if owned, or null.
        Specified by:
        getOwner in interface Connectable
        Returns:
      • config

        public void config​(SimpleDataSeg dataseg)
        Description copied from interface: Connectable
        Configuration assemblies or any other object that can be targeted for configuration data in a forward open service must implement this method.
        Specified by:
        config in interface Connectable
      • subscribe

        public void subscribe​(AppProducer sub,
                              ConxClass.CxParams params,
                              byte dirtrigcls)
        Description copied from interface: Connectable
        This method requests that the given connection be added to the list of subscribers to new data production from this object. Repeat subscriptions are ignored.
        Specified by:
        subscribe in interface Connectable
        dirtrigcls - Direction/Trigger/Class combination to use.
      • unsubscribe

        public void unsubscribe​(AppProducer sub)
        Description copied from interface: Connectable
        This method drops the given connection from the list of new data subscribers.
        Specified by:
        unsubscribe in interface Connectable
      • disconnectSubscribers

        public void disconnectSubscribers()
        Description copied from interface: Connectable
        This method disconnects all subscribers, a requirement during shutdown.
        Specified by:
        disconnectSubscribers in interface Connectable
      • txTrigger

        public void txTrigger()
        Description copied from interface: Connectable
        This method notifies a producer that a transmission trigger has expired and new data would be appropriate if it can be assembled and delivered synchronously in this call.
        Specified by:
        txTrigger in interface Connectable
      • txFresh

        public void txFresh()
        Description copied from interface: Connectable
        This method notifies a producer that a data has been updated and a new sequence number should be generated. Produces to subscribers with application or change of state trigger types.
        Specified by:
        txFresh in interface Connectable
      • setParent

        public CipInstance setParent​(CipTree parent)
        Description copied from class: CipTree
        Set or remove the parent of this CipTree, possibly removing this object from a previous parent before assigning to the new parent. Override this method if additional housekeeping is required when assigning or removing parents.
        Overrides:
        setParent in class CipInstance
        Parameters:
        parent - The new parent of this object.
        Returns:
        The object replaced by this object in the parent, if any.