Exemple #1
0
        private void WritePDU(bool last)
        {
            _pdu.CompletePDV(last, _command);

            RawPDU raw = _pdu.Write();

            _networkBase.EnqueuePdu(raw);
            if (OnTick != null)
            {
                OnTick();
            }

            _pdu = new PDataTFWrite(_max);
        }
        private void WritePDU(bool last)
        {
            if (_pdu.PDVs.Count == 0 || ((CurrentPduSize() + 6) < _max && GetBufferLength() > 0))
            {
                CreatePDV(last);
            }
            if (_pdu.PDVs.Count > 0)
            {
                if (last)
                {
                    _pdu.PDVs[_pdu.PDVs.Count - 1].IsLastFragment = true;
                }
                RawPDU raw = _pdu.Write();

                _networkBase.EnqueuePdu(raw);
                if (OnTick != null)
                {
                    OnTick();
                }
                _pdu = new PDataTF();
            }
        }