private CreateIncomingMessage ( NetIncomingMessageType tp, byte useStorageData ) : |
||
tp | NetIncomingMessageType | |
useStorageData | byte | |
Результат |
internal void SetStatus(NetConnectionStatus status, NetConnectionResult reason) { // user or library thread m_status = status; if (m_status == NetConnectionStatus.Connected) { m_timeoutDeadline = NetTime.Now + m_peerConfiguration.m_connectionTimeout; m_peer.LogVerbose("Timeout deadline initialized to " + m_timeoutDeadline); } if (m_peerConfiguration.IsMessageTypeEnabled(NetIncomingMessageType.StatusChanged)) { if (m_outputtedStatus != status) { NetIncomingMessage info = m_peer.CreateIncomingMessage(NetIncomingMessageType.StatusChanged, 1); info.m_senderConnection = this; info.m_senderEndPoint = m_remoteEndPoint; info.Write((byte)m_status); info.Write((byte)reason); m_peer.ReleaseMessage(info); m_outputtedStatus = status; } } else { // app dont want those messages, update visible status immediately m_outputtedStatus = m_status; m_visibleStatus = m_status; } }
internal void SetStatus(NetConnectionStatus status, string reason) { // user or library thread if (status == m_status) { return; } m_status = status; if (reason == null) { reason = string.Empty; } if (m_status == NetConnectionStatus.Connected) { m_timeoutDeadline = (float)NetTime.Now + m_peerConfiguration.m_connectionTimeout; m_peer.LogVerbose("Timeout deadline initialized to " + m_timeoutDeadline); } if (m_peerConfiguration.IsMessageTypeEnabled(NetIncomingMessageType.StatusChanged)) { NetIncomingMessage info = m_peer.CreateIncomingMessage(NetIncomingMessageType.StatusChanged, 4 + reason.Length + (reason.Length > 126 ? 2 : 1)); info.m_senderConnection = this; info.m_senderEndpoint = m_remoteEndpoint; info.Write((byte)m_status); info.Write(reason); m_peer.ReleaseMessage(info); } else { // app dont want those messages, update visible status immediately m_visibleStatus = m_status; } }
internal void SetStatus(NetConnectionStatus status, NetReason reason) { // user or library thread m_status = status; if (m_status == NetConnectionStatus.Connected) { m_timeoutDeadline = NetTime.Now + m_peerConfiguration.m_connectionTimeout; m_peer.LogVerbose("Timeout deadline initialized to " + m_timeoutDeadline); } if (m_peerConfiguration.IsMessageTypeEnabled(NetIncomingMessageType.StatusChanged)) { if (m_outputtedStatus != status) { var outgoingMessage = reason.Message; var info = m_peer.CreateIncomingMessage(NetIncomingMessageType.StatusChanged, 1 + reason.Length); info.Write((byte)m_status); if (outgoingMessage != null) { Buffer.BlockCopy(outgoingMessage.m_data, 0, info.m_data, 1, outgoingMessage.LengthBytes); info.m_bitLength = outgoingMessage.m_bitLength; } else { info.Write(reason.Text); } info.m_senderConnection = this; info.m_senderEndPoint = m_remoteEndPoint; m_peer.ReleaseMessage(info); m_outputtedStatus = status; } } else { // app dont want those messages, update visible status immediately m_outputtedStatus = m_status; m_visibleStatus = m_status; } }
public NetIncomingMessage ToIncomingMessage(NetPeer peer) { if (Buffer is NetIncomingMessage incoming) { return(incoming); } NetIncomingMessage msg = peer.CreateIncomingMessage(MessageType); msg._baseMessageType = BaseMessageType; msg.IsFragment = IsFragment; msg.ReceiveTime = Time; msg.SequenceNumber = SequenceNumber; msg.SenderConnection = Connection; msg.SenderEndPoint = EndPoint; msg.Write(Span); msg.BitLength = BitLength; msg.BitPosition = 0; return(msg); }