summaryrefslogtreecommitdiff
path: root/src/main/kotlin/NinePMessageType.kt
blob: 4c8c60fc9e894979f4e623729e10a8c233b46178 (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
36
37
38
39
enum class NinePMessageType(val value: UByte) {
    TVERSION(100u),
    RVERSION(101u),
    TAUTH(102u),
    RAUTH(103u),
    TATTACH(104u),
    RATTACH(105u),
    //TERROR(106),    <--- illegal
    RERROR(107u),
    TFLUSH(108u),
    RFLUSH(109u),
    TWALK(110u),
    RWALK(111u),
    TOPEN(112u),
    ROPEN(113u),
    TCREATE(114u),
    RCREATE(115u),
    TREAD(116u),
    RREAD(117u),
    TWRITE(118u),
    RWRITE(119u),
    TCLUNK(120u),
    RCLUNK(121u),
    TREMOVE(122u),
    RREMOVE(123u),
    TSTAT(124u),
    RSTAT(125u),
    TWSTAT(126u),
    RWSTAT(127u);

    companion object {
        /**
         * Obtain a [NinePMessageType] instance by matching its value.
         *
         * @throws NoSuchElementException if no such element has the provided value.
         */
        fun fromByte(value: UByte) = NinePMessageType.entries.first { it.value == value }
    }
}