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 }
}
}
|