private ReleaseMessage ( NetIncomingMessage msg ) : void | ||
msg | NetIncomingMessage | |
return | void |
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; } }