// This file is provided under The MIT License as part of RiptideNetworking. // Copyright (c) Tom Weiland // For additional information please see the included LICENSE.md file or view it on GitHub: // https://github.com/RiptideNetworking/Riptide/blob/main/LICENSE.md using System; namespace Riptide.Transports { /// The header type of a . public enum MessageHeader : byte { /// An unreliable user message. Unreliable, /// An internal unreliable ack message. Ack, /// An internal unreliable connect message. Connect, /// An internal unreliable connection rejection message. Reject, /// An internal unreliable heartbeat message. Heartbeat, /// An internal unreliable disconnect message. Disconnect, /// A notify message. Notify, /// A reliable user message. Reliable, /// An internal reliable welcome message. Welcome, /// An internal reliable client connected message. ClientConnected, /// An internal reliable client disconnected message. ClientDisconnected, } /// Defines methods, properties, and events which every transport's server and client must implement. public interface IPeer { /// Invoked when data is received by the transport. event EventHandler DataReceived; /// Invoked when a disconnection is initiated or detected by the transport. event EventHandler Disconnected; /// Initiates handling of any received messages. void Poll(); } }