Esempio n. 1
0
 protected override void WriteData(AcnBinaryWriter data)
 {
     Framing.WritePdu(data);
     RdmNet.WritePdu(data);
     RdmNet.WriteLength(data);
     Framing.WriteLength(data);
 }
Esempio n. 2
0
 protected override void WriteData(AcnBinaryWriter data)
 {
     data.WriteUtf8String(SourceName, 64);
     data.WriteOctet(SequenceNumber);
     data.WriteOctet(EndpointID);
     data.BaseStream.Seek(1, SeekOrigin.Current);
 }
Esempio n. 3
0
        public void WriteData(AcnBinaryWriter data, bool tcpTransport)
        {
            ValidatePacket();

            if (!tcpTransport)
            {
                data.WriteOctet(PreambleSize);
                data.WriteOctet(PostambleSize);
            }

            data.WriteUtf8String(PacketId, 12);

            //PDU Block Size
            if (tcpTransport)
            {
                data.BaseStream.Seek(4, System.IO.SeekOrigin.Current);
            }

            //Save the position of the length so we can come back and fill it in.
            lengthPosition = data.BaseStream.Position;

            data.WriteOctet((short)((Flags << 12) + Length));
            data.WriteOctet(ProtocolId);
            data.Write(SenderId.ToByteArray());
        }
Esempio n. 4
0
 protected override void WriteData(AcnBinaryWriter data)
 {
     if (RdmData != null)
     {
         data.Write(RdmData);
     }
 }
Esempio n. 5
0
 /// <summary>
 /// Writes the packet specific data to the packet data stream.
 /// </summary>
 /// <param name="data">The data reader for the ACN packet.</param>
 /// <remarks>
 /// Each packet type should override this and write the data in the format specified by the protocol.
 /// </remarks>
 protected override void WriteData(AcnBinaryWriter data)
 {
     Framing.WritePdu(data);
     Framing.WriteLength(data);
     UniverseDiscovery.WritePdu(data);
     UniverseDiscovery.WriteLength(data);
 }
Esempio n. 6
0
 protected override void WriteData(AcnBinaryWriter data)
 {
     data.Write(AddressType);
     data.WriteOctet(FirstPropertyAddress);
     data.WriteOctet(AddressIncrement);
     data.WriteOctet(PropertyLength);
     WriteContent(data);
 }
Esempio n. 7
0
 protected override void WriteData(AcnBinaryWriter data)
 {
     data.Write(LeaderId.ToByteArray());
     data.WriteOctet(ChannelNumber);
     data.WriteOctet(MemberId);
     data.WriteOctet(ReliableSequenceNumber);
     data.WriteOctet(ReciprocalChannel);
 }
Esempio n. 8
0
 protected override void WriteData(AcnBinaryWriter data)
 {
     data.WriteUtf8String(SourceName, 64);
     data.Write(Priority);
     data.WriteOctet(SyncPacketAddress);
     data.Write(SequenceNumber);
     data.Write(Options);
     data.WriteOctet(Universe);
 }
Esempio n. 9
0
            /// <summary>
            /// Write the PDU information to the packet data to be transmitted.
            /// </summary>
            /// <param name="data">The packet data to be sent.</param>
            protected override void WriteData(AcnBinaryWriter data)
            {
                data.Write(Page);
                data.WriteOctet(TotalPages);

                foreach (int universe in universes)
                {
                    data.WriteOctet((short)universe);
                }
            }
Esempio n. 10
0
        public void SendPacket(AcnPacket packet)
        {
            //Set the senders CID.
            packet.Root.SenderId = SenderId;

            MemoryStream    data   = new MemoryStream();
            AcnBinaryWriter writer = new AcnBinaryWriter(data);

            AcnPacket.WriteTcpPacket(packet, writer);
            socket.Send(data.GetBuffer(), 0, (int)data.Length, SocketFlags.None);
        }
Esempio n. 11
0
 protected override void WriteData(AcnBinaryWriter data)
 {
     data.WriteOctet(ChannelNumber);
     data.WriteOctet(TotalSequenceNumber);
     data.WriteOctet(ReliableSequenceNumber);
     data.WriteOctet(OldestAvailableWrapper);
     data.WriteOctet(FirstMemberToAck);
     data.WriteOctet(LastMemberToAck);
     data.WriteOctet(MAKThreshold);
     throw new NotImplementedException();
 }
Esempio n. 12
0
        public void SendPacket(AcnPacket packet, IPEndPoint destination)
        {
            //Set the senders CID.
            packet.Root.SenderId = SenderId;

            MemoryStream    data   = new MemoryStream();
            AcnBinaryWriter writer = new AcnBinaryWriter(data);

            AcnPacket.WritePacket(packet, writer);

            BeginSendTo(data.GetBuffer(), 0, (int)data.Length, SocketFlags.None, destination, null, null);
        }
Esempio n. 13
0
 protected override void WriteData(AcnBinaryWriter data)
 {
     data.Write(ComponentId.ToByteArray());
     data.WriteOctet(MemberId);
     data.WriteOctet(ChannelNumber);
     data.WriteOctet(ReciprocalChannel);
     data.WriteOctet(TotalSequenceNumber);
     data.WriteOctet(ReliableSequenceNumber);
     DestinationAddress.WriteData(data);
     ChannelParameterBlock.WriteData(data);
     data.Write(AdHocExpiry);
 }
Esempio n. 14
0
        public void WriteLength(AcnBinaryWriter data)
        {
            //Return to Length and update
            long endPosition = data.BaseStream.Position;

            Length = (int)(endPosition - lengthPosition);

            //Write PDU length.
            data.BaseStream.Seek(lengthPosition, System.IO.SeekOrigin.Begin);
            data.WriteOctet((short)((Length & 0x0FFF) + ((int)Flags << 12)));

            //Return to original stream position at end of PDU.
            data.BaseStream.Seek(endPosition, System.IO.SeekOrigin.Begin);
        }
Esempio n. 15
0
        public void WriteLength(AcnBinaryWriter data)
        {
            if (lengthPosition == 0)
            {
                throw new InvalidOperationException("You must write the root layer data first before calling WriteLength.");
            }

            //Update the Length
            Length = (int)(data.BaseStream.Position - lengthPosition);

            //Write the updated length to the packet data.
            long savedPosition = data.BaseStream.Position;

            data.BaseStream.Seek(lengthPosition, System.IO.SeekOrigin.Begin);
            data.WriteOctet((short)((Flags << 12) + Length));
            data.BaseStream.Seek(savedPosition, System.IO.SeekOrigin.Begin);
        }
Esempio n. 16
0
        public virtual void WritePdu(AcnBinaryWriter data)
        {
            //Save length and skip
            //We save the stream position of the length so we can come back later and write it.
            lengthPosition = data.BaseStream.Position;
            data.BaseStream.Seek(2, System.IO.SeekOrigin.Current);

            //Write the PDU Vector.
            switch (vectorLength)
            {
            case 1:
                data.Write((byte)Vector);
                break;

            case 4:
                data.WriteOctet(Vector);
                break;
            }

            //Write the PDU data.
            WriteData(data);
        }
Esempio n. 17
0
 protected override void WriteData(AcnBinaryWriter data)
 {
     throw new NotImplementedException();
 }
Esempio n. 18
0
 /// <summary>
 /// Writes the Property data to the packet stream.
 /// </summary>
 /// <remarks>
 /// This allows customization of the property data.
 /// </remarks>
 /// <param name="data">The packet data stream.</param>
 protected virtual void WriteContent(AcnBinaryWriter data)
 {
     data.Write(PropertyData);
 }
Esempio n. 19
0
 protected override void WriteData(AcnBinaryWriter data)
 {
     data.Write(ComponentId.ToByteArray());
 }
Esempio n. 20
0
 protected override void WriteData(AcnBinaryWriter data)
 {
     data.WriteOctet(ProtocolId);
 }
Esempio n. 21
0
 public abstract void WriteData(AcnBinaryWriter data);
 /// <summary>
 /// Write the PDU information to the packet data to be transmitted.
 /// </summary>
 /// <param name="data">The packet data to be sent.</param>
 protected override void WriteData(AcnBinaryWriter data)
 {
     data.Write(SequenceNumber);
     data.WriteOctet(SynchronizationAddress);
     data.BaseStream.Seek(2, SeekOrigin.Current);
 }
Esempio n. 23
0
 protected override void WriteData(AcnBinaryWriter data)
 {
 }
Esempio n. 24
0
 public void WriteData(AcnBinaryWriter data)
 {
     throw new NotImplementedException();
 }
Esempio n. 25
0
 protected override void WriteData(AcnBinaryWriter data)
 {
     base.WriteData(data);
 }
Esempio n. 26
0
 public static void WriteTcpPacket(AcnPacket packet, AcnBinaryWriter data)
 {
     packet.Root.WriteData(data, true);
     packet.WriteData(data);
     packet.Root.WriteLength(data);
 }
Esempio n. 27
0
 protected abstract void WriteData(AcnBinaryWriter data);
Esempio n. 28
0
 /// <summary>
 /// Write the PDU information to the packet data to be transmitted.
 /// </summary>
 /// <param name="data">The packet data to be sent.</param>
 protected override void WriteData(AcnBinaryWriter data)
 {
     data.WriteUtf8String(SourceName, 64);
     data.BaseStream.Seek(4, SeekOrigin.Current);
 }
Esempio n. 29
0
 protected override void WriteData(AcnBinaryWriter data)
 {
     data.Write(AddressType);
 }
Esempio n. 30
0
 protected override void WriteData(AcnBinaryWriter data)
 {
     data.WriteOctet(ReliableSequenceNumber);
 }