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

GetMaxApdu() public méthode

public GetMaxApdu ( ) : int
Résultat int
        public int GetMaxApdu()
        {
            int max_apdu;
            switch (m_client.MaxAdpuLength)
            {
                case BacnetMaxAdpu.MAX_APDU1476:
                    max_apdu = 1476;
                    break;
                case BacnetMaxAdpu.MAX_APDU1024:
                    max_apdu = 1024;
                    break;
                case BacnetMaxAdpu.MAX_APDU480:
                    max_apdu = 480;
                    break;
                case BacnetMaxAdpu.MAX_APDU206:
                    max_apdu = 206;
                    break;
                case BacnetMaxAdpu.MAX_APDU128:
                    max_apdu = 128;
                    break;
                case BacnetMaxAdpu.MAX_APDU50:
                    max_apdu = 50;
                    break;
                default:
                    throw new NotImplementedException();
            }

            //max udp payload IRL seems to differ from the expectations in BACnet
            //so we have to adjust it. (In order to fulfill the standard)
            const int max_npdu_header_length = 4;       //usually it's '2', but it can also be more than '4'. Beware!
            return Math.Min(max_apdu, m_client.MaxBufferLength - m_client.HeaderLength - max_npdu_header_length);
        }
BacnetClient