forked from mongodb/mongo-tools
/
opcode.go
54 lines (50 loc) · 1.34 KB
/
opcode.go
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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
package mongoreplay
import "fmt"
// OpCode allow identifying the type of operation:
// http://docs.mongodb.org/meta-driver/latest/legacy/mongodb-wire-protocol/#request-opcodes
type OpCode int32
// String returns a human readable representation of the OpCode.
func (c OpCode) String() string {
switch c {
case OpCodeReply:
return "reply"
case OpCodeMessage:
return "message"
case OpCodeUpdate:
return "update"
case OpCodeInsert:
return "insert"
case OpCodeReserved:
return "reserved"
case OpCodeQuery:
return "query"
case OpCodeGetMore:
return "get_more"
case OpCodeDelete:
return "delete"
case OpCodeKillCursors:
return "kill_cursors"
case OpCodeCommand:
return "command"
case OpCodeCommandReply:
return "command_reply"
default:
return fmt.Sprintf("UNKNOWN(%d)", c)
}
}
// The full set of known request op codes:
// http://docs.mongodb.org/meta-driver/latest/legacy/mongodb-wire-protocol/#request-opcodes
const (
OpCodeReply = OpCode(1)
OpCodeMessage = OpCode(1000)
OpCodeUpdate = OpCode(2001)
OpCodeInsert = OpCode(2002)
OpCodeReserved = OpCode(2003)
OpCodeQuery = OpCode(2004)
OpCodeGetMore = OpCode(2005)
OpCodeDelete = OpCode(2006)
OpCodeKillCursors = OpCode(2007)
OpCodeCommand = OpCode(2010)
OpCodeCommandReply = OpCode(2011)
OpCodeCompressed = OpCode(2012)
)