"景先生毕设|www.jxszl.com

C# BufferManager类代码示例

2023-12-29 17:36编辑: www.jxszl.com景先生毕设
本文整理汇总了C#中BufferManager类的典型用法代码示例。如果您正苦于以下问题:C#BufferManager类的具体用法?C#BufferManager怎么用?C#BufferManager使用的例子?这里精选的类代码示例或许可以为您提供帮助。 示例1:AppendPayloadAsHeader publicstaticArraySegmentAppendPayloadAsHeader(ArraySegmentbuffer,ArraySegmentpayload,BufferManagerbufferManager) { //Wewillinsertatthebeginningofthebufferjustbeforethedictionaryoranymessagecontent intposToInsert=buffer.Offset; intframeSize=PayloadMarkLength+PayloadLengthByteCount+payload.Count; byte[]newBuffer=bufferManager.TakeBuffer(buffer.Count+frameSize+buffer.Offset); intafterContent=posToInsert+frameSize; //Insertourcustommark0xBE intinsertPoint=posToInsert; newBuffer[insertPoint++]=PayloadMark; //Insertthelengthofthepayload byte[]lenInBytes=BitConverter.GetBytes(payload.Count); newBuffer[insertPoint++]=lenInBytes[0]; newBuffer[insertPoint++]=lenInBytes[1]; newBuffer[insertPoint++]=lenInBytes[2]; newBuffer[insertPoint++]=lenInBytes[3]; Buffer.BlockCopy(payload.Array,payload.Offset,newBuffer,insertPoint,payload.Count); //Copyfromoldtonewarray Buffer.BlockCopy(buffer.Array,0,newBuffer,0,posToInsert);//Copyuntilthesubheaderpointer Buffer.BlockCopy(buffer.Array,posToInsert,newBuffer,afterContent,buffer.Count-posToInsert+buffer.Offset);//Nowcopytherest returnnewArraySegment(newBuffer,buffer.Offset,buffer.Count+frameSize); }
原文链接:http://www.jxszl.com/biancheng/C/556595.html