BytesRoad.Net.Sockets.ByteVector.Add C# (CSharp) Method

Add() private method

private Add ( ByteVector data ) : void
data ByteVector
return void
        internal void Add(ByteVector data)
        {
            Add(data.Data, 0, data.Size);
        }

Same methods

ByteVector::Add ( byte data ) : void
ByteVector::Add ( byte data, int offset ) : void
ByteVector::Add ( byte data, int offset, int length ) : void

Usage Example

		ByteVector ReadReply()
		{
			ByteVector reply = new ByteVector();
			byte[] buf = new byte[512];
			while(true)
			{
				int num = Receive(buf);
				if(0 == num)
					break;

				reply.Add(buf, 0, num);

				//handle the end of reply
				int afterEndPos = FindReplyEnd(reply.Data, reply.Size);
				if(afterEndPos > 0)
				{
					if(afterEndPos < num) //read after reply finished?
					{
						//put data back into the buffer for further
						//processing in receive functions
						PutBufferData(buf, afterEndPos, num - afterEndPos);
						reply.CutTail(num - afterEndPos);
					}
					break;
				}

				if(reply.Size > _maxReplySize)
					throw new ProtocolViolationException("Web proxy reply exceed maximum length.");
			}
			return reply;
		}