示例#1
0
 public bool DeliverInputNoCopy(nuint length, NWFramerMessage message, bool isComplete)
 {
     if (message == null)
     {
         throw new ArgumentNullException(nameof(message));
     }
     return(nw_framer_deliver_input_no_copy(GetCheckedHandle(), length, message.Handle, isComplete));
 }
示例#2
0
		public void DeliverInput (ReadOnlySpan<byte> buffer, NWFramerMessage message, bool isComplete)
		{
			if (message == null)
				throw new ArgumentNullException (nameof (message));
			unsafe {
				fixed (byte *mh = buffer)
					nw_framer_deliver_input (GetCheckedHandle (),mh, (nuint)buffer.Length, message.Handle, isComplete);
			}
		}
示例#3
0
		static void TrampolineOutputHandler (IntPtr block, OS_nw_framer framer, OS_nw_protocol_metadata message, nuint message_length, bool is_complete)
		{
			var del = BlockLiteral.GetTarget<Action<NWFramer, NWProtocolMetadata, nuint, bool>> (block);
			if (del != null) {
				var nwFramer = new NWFramer (framer, owns: true);
				var nwProtocolMetadata = new NWFramerMessage (message, owns: true);
				del (nwFramer, nwProtocolMetadata, message_length, is_complete);
			}
		}