CSharpUtils.Fastcgi.FastcgiHandler.Reader_HandlePacket C# (CSharp) Метод

Reader_HandlePacket() приватный Метод

private Reader_HandlePacket ( Fastcgi Type, ushort RequestId, byte Content ) : bool
Type Fastcgi
RequestId ushort
Content byte
Результат bool
		bool Reader_HandlePacket(Fastcgi.PacketType Type, ushort RequestId, byte[] Content)
		{
			var Request = GetOrCreateFastcgiRequest(RequestId);

			if (Debug)
			{
				Console.WriteLine("Handling Packet (" + Type + ")");
			}

			switch (Type)
			{
				case Fastcgi.PacketType.FCGI_BEGIN_REQUEST:
					var Role = (Fastcgi.Role)(Content[0] | (Content[1] << 8));
					var Flags = (Fastcgi.Flags)(Content[2]);
					break;
				case Fastcgi.PacketType.FCGI_PARAMS:
					if (Content.Length == 0)
					{
						Request.ParamsStream.Finalized = true;
					}
					else
					{
						Request.ParamsStream.Write(Content, 0, Content.Length);
					}
					break;
				case Fastcgi.PacketType.FCGI_STDIN:
					if (Content.Length == 0)
					{
						Request.StdinStream.Finalized = true;
						Request.FinalizedRequest = true;
					}
					else
					{
						Request.StdinStream.Write(Content, 0, Content.Length);
					}
					break;

				default:
					Console.Error.WriteLine("Unhandled packet type: '" + Type + "'");
					//throw (new Exception("Unhandled packet type: '" + Type + "'"));
					break;
			}

			if (Debug)
			{
				Console.WriteLine("     : FinalizedRequest(" + Request.FinalizedRequest + ")");
			}

			if (Request.ParamsStream.Finalized && Request.Processing == false)
			{
				Request.Processing = true;
				ThreadPool.QueueUserWorkItem(HandleRequest, Request);
			}
            

			if (Request.FinalizedRequest)
			{
				return false;
			}
			else
			{
				return true;
			}
		}