aboutsummaryrefslogtreecommitdiff
path: root/Tools/Hazel-Networking/Hazel/SendOption.cs
blob: c2ffb224716ac0e50928703ff1a22f03e21d6d86 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Hazel
{
    /// <summary>
    ///     Specifies how a message should be sent between connections.
    /// </summary>
    [Flags]
    public enum SendOption : byte
    {
        /// <summary>
        ///     Requests unreliable delivery with no framentation.
        /// </summary>
        /// <remarks>
        ///     Sending data using unreliable delivery means that data is not guaranteed to arrive at it's destination nor is 
        ///     it guarenteed to arrive only once. However, unreliable delivery can be faster than other methods and it 
        ///     typically requires a smaller number of protocol bytes than other methods. There is also typically less 
        ///     processing involved and less memory needed as packets are not stored once sent.
        /// </remarks>
        None = 0,

        /// <summary>
        ///     Requests data be sent reliably but with no fragmentation.
        /// </summary>
        /// <remarks>
        ///     Sending data reliably means that data is guarenteed to arrive and to arrive only once. Reliable delivery
        ///     typically requires more processing, more memory (as packets need to be stored in case they need resending), 
        ///     a larger number of protocol bytes and can be slower than unreliable delivery.
        /// </remarks>
        Reliable = 1,
    }
}