Ejemplo n.º 1
0
        public void FromReadOnlySpanTest()
        {
            var readOnlySpan = new ReadOnlySpan <byte> (testData);

            using (var dd = DispatchData.FromReadOnlySpan(readOnlySpan)) {
                var data     = dd.ToArray();
                var ddString = Encoding.UTF8.GetString(dd.ToArray());
                Assert.AreEqual(testString, ddString);
            }
        }
Ejemplo n.º 2
0
        public void Send(ReadOnlySpan <byte> content, ushort vlanTag, string remoteAddress, Action <NWError?> callback)
        {
            if (callback == null)
            {
                throw new ArgumentNullException(nameof(callback));
            }

            using (var dispatchData = DispatchData.FromReadOnlySpan(content)) {
                BlockLiteral block_handler = new BlockLiteral();
                block_handler.SetupBlockUnsafe(static_SendCompletion, callback);

                try {
                    nw_ethernet_channel_send(GetCheckedHandle(), dispatchData.GetHandle(), vlanTag, remoteAddress, ref block_handler);
                } finally {
                    block_handler.CleanupBlock();
                }
            }
        }