public unsafe int PeekNext(NetworkEndPoint local, void *slice, out int length, out NetworkEndPoint from) { ManagerAccessHandle.Complete(); IPCData data; from = default(NetworkEndPoint); length = 0; if (m_IPCQueue.Peek(local.ipc_handle, out data)) { ushort version = m_IPCEndPoints[data.from]; UnsafeUtility.MemCpy(slice, data.data, data.length); length = data.length; } NetworkEndPoint endpoint; if (!TryGetEndPointByHandle(data.from, out endpoint)) { return(-1); } from = endpoint; return(length); }
public unsafe int PeekNext(NetworkInterfaceEndPoint local, void *slice, out int length, out NetworkInterfaceEndPoint from) { ManagerAccessHandle.Complete(); IPCData data; from = default(NetworkInterfaceEndPoint); length = 0; if (m_IPCQueue.Peek(*(int *)local.data, out data)) { UnsafeUtility.MemCpy(slice, data.data, data.length); length = data.length; } GetEndPointByHandle(data.from, out from); return(length); }