Server.Network.PacketWriter.Seek C# (CSharp) Méthode

Seek() public méthode

Offsets the current position from an origin.
public Seek ( long offset, SeekOrigin origin ) : long
offset long
origin SeekOrigin
Résultat long
		public long Seek( long offset, SeekOrigin origin )
		{
			return m_Stream.Seek( offset, origin );
		}

Usage Example

Exemple #1
0
        private void InternalCompile(bool compress)
        {
            if (m_Length == 0)
            {
                long streamLen = m_Stream.Length;

                m_Stream.Seek(1, SeekOrigin.Begin);
                m_Stream.Write((ushort)streamLen);
            }
            else if (m_Stream.Length != m_Length)
            {
                int diff = (int)m_Stream.Length - m_Length;

                log.ErrorFormat("Packet: 0x{0:X2}: Bad packet length! ({1}{2} bytes)",
                                m_PacketID, diff >= 0 ? "+" : "", diff);
            }

            MemoryStream ms = m_Stream.UnderlyingStream;

            int length;

            m_CompiledBuffer = ms.GetBuffer();
            length           = (int)ms.Length;

            if (compress)
            {
                try
                {
                    Compression.Compress(m_CompiledBuffer, length, out m_CompiledBuffer, out length);
                }
                catch (IndexOutOfRangeException)
                {
                    log.WarnFormat("Compression buffer overflowed on packet 0x{0:X2} ('{1}') (length={2})",
                                   m_PacketID, GetType().Name, length);

                    m_CompiledBuffer = null;
                }
            }

            if (m_CompiledBuffer != null)
            {
                byte[] old = m_CompiledBuffer;

                m_CompiledBuffer = new byte[length];

                Buffer.BlockCopy(old, 0, m_CompiledBuffer, 0, length);
            }

            PacketWriter.ReleaseInstance(m_Stream);
            m_Stream = null;
        }
All Usage Examples Of Server.Network.PacketWriter::Seek