System.IO.BACnet.BacnetClient.Notify C# (CSharp) Méthode

Notify() public méthode

public Notify ( BacnetAddress adr, uint subscriberProcessIdentifier, uint initiatingDeviceIdentifier, BacnetObjectId monitoredObjectIdentifier, uint timeRemaining, bool issueConfirmedNotifications, IList values ) : bool
adr BacnetAddress
subscriberProcessIdentifier uint
initiatingDeviceIdentifier uint
monitoredObjectIdentifier BacnetObjectId
timeRemaining uint
issueConfirmedNotifications bool
values IList
Résultat bool
        public bool Notify(BacnetAddress adr, uint subscriberProcessIdentifier, uint initiatingDeviceIdentifier, BacnetObjectId monitoredObjectIdentifier, uint timeRemaining, bool issueConfirmedNotifications, IList<BacnetPropertyValue> values)
        {
            if (!issueConfirmedNotifications)
            {
                Trace.WriteLine("Sending Notify (unconfirmed) ... ", null);
                EncodeBuffer b = GetEncodeBuffer(m_client.HeaderLength);
                NPDU.Encode(b, BacnetNpduControls.PriorityNormalMessage, adr.RoutedSource, null, DEFAULT_HOP_COUNT, BacnetNetworkMessageTypes.NETWORK_MESSAGE_WHO_IS_ROUTER_TO_NETWORK, 0);
                APDU.EncodeUnconfirmedServiceRequest(b, BacnetPduTypes.PDU_TYPE_UNCONFIRMED_SERVICE_REQUEST, BacnetUnconfirmedServices.SERVICE_UNCONFIRMED_COV_NOTIFICATION);
                Services.EncodeCOVNotifyUnconfirmed(b, subscriberProcessIdentifier, initiatingDeviceIdentifier, monitoredObjectIdentifier, timeRemaining, values);
               // Modif F. Chaxel

                int sendbytes=m_client.Send(b.buffer, m_client.HeaderLength, b.offset - m_client.HeaderLength, adr, false, 0);

                if (sendbytes == b.offset)
                    return true;
                else
                    return false;
            }
            else
            {
                using (BacnetAsyncResult result = (BacnetAsyncResult)BeginConfirmedNotify(adr, subscriberProcessIdentifier, initiatingDeviceIdentifier, monitoredObjectIdentifier, timeRemaining, values, true))
                {
                    for (int r = 0; r < m_retries; r++)
                    {
                        if (result.WaitForDone(m_timeout))
                        {
                            Exception ex;
                            EndConfirmedNotify(result, out ex);
                            if (ex != null) throw ex;
                            else return true;
                        }
                        if (r < (m_retries - 1))
                            result.Resend();
                    }
                }
                return false;
            }
        }
BacnetClient