CSharpUtils.Web._45.Fastcgi.FastcgiPacket.WriteToAsync C# (CSharp) Метод

WriteToAsync() публичный Метод

public WriteToAsync ( Stream ClientStream ) : Task
ClientStream Stream
Результат Task
		public async Task<FastcgiPacket> WriteToAsync(Stream ClientStream)
		{
			if (Content.Count > ushort.MaxValue) throw(new InvalidDataException("Data too long"));
			var ContentLength = (ushort)Content.Count;
			var PaddingLength = (byte)(MathUtils.Align(ContentLength, 8) - ContentLength);

			var Header = new byte[8];
			Header[0] = Version;
			Header[1] = (byte)Type;
			Header[2] = (byte)((RequestId >> 8) & 0xFF);
			Header[3] = (byte)((RequestId >> 0) & 0xFF);
			Header[4] = (byte)((ContentLength >> 8) & 0xFF);
			Header[5] = (byte)((ContentLength >> 0) & 0xFF);
			Header[6] = PaddingLength;
			Header[7] = 0;
			await ClientStream.WriteAsync(Header, 0, Header.Length);
			if (ContentLength > 0)
			{
				await ClientStream.WriteAsync(Content.Array, Content.Offset, Content.Count);
			}
			if (PaddingLength > 0)
			{
				await ClientStream.WriteAsync(PaddingWrite, 0, PaddingLength);
			}

			//await Console.Out.WriteLineAsync(String.Format("WRITE: Packet({0}): {1}({2}:{3})", RequestId, Type, ContentLength, PaddingLength));

			return this;
		}