Ejemplo n.º 1
0
        private void EnqueueUserData(ASDU asdu)
        {
            //TODO problem -> buffer frame needs own buffer so that the message can be stored.
            BufferFrame bf = new BufferFrame(buffer, 0);

            asdu.Encode(bf, parameters);

            linkLayerUnbalanced.SendConfirmed(slaveAddress, bf);
        }
Ejemplo n.º 2
0
        private void EnqueueUserData(ASDU asdu)
        {
            lock (userDataQueue) {
                BufferFrame frame = new BufferFrame(new byte[256], 0);

                asdu.Encode(frame, parameters);

                userDataQueue.Enqueue(frame);
            }
        }
Ejemplo n.º 3
0
        private void EnqueueUserData(ASDU asdu)
        {
            if (linkLayerUnbalanced != null)
            {
                //TODO problem -> buffer frame needs own buffer so that the message can be stored.
                BufferFrame frame = new BufferFrame(buffer, 0);

                asdu.Encode(frame, appLayerParameters);

                linkLayerUnbalanced.SendConfirmed(slaveAddress, frame);
            }
            else
            {
                lock (userDataQueue) {
                    BufferFrame frame = new BufferFrame(new byte[256], 0);

                    asdu.Encode(frame, appLayerParameters);

                    userDataQueue.Enqueue(frame);
                }
            }
        }
Ejemplo n.º 4
0
            public void EnqueueUserDataClass2(ASDU asdu)
            {
                lock (userDataClass2Queue) {
                    BufferFrame frame = new BufferFrame(new byte[256], 0);

                    asdu.Encode(frame, parameters);

                    userDataClass2Queue.Enqueue(frame);

                    while (userDataClass2Queue.Count > userDataClass2QueueMaxSize)
                    {
                        userDataClass2Queue.Dequeue();
                    }
                }
            }