// 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();
}
}