| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- package rpc
-
- import (
- "encoding/binary"
- "strings"
- )
-
- type proxyRequestFlags uint32
-
- const (
- proxyRequestFlagsHasAdTag proxyRequestFlags = 0x8
- proxyRequestFlagsEncrypted proxyRequestFlags = 0x2
- proxyRequestFlagsMagic proxyRequestFlags = 0x1000
- proxyRequestFlagsExtMode2 proxyRequestFlags = 0x20000
- proxyRequestFlagsIntermediate proxyRequestFlags = 0x20000000
- proxyRequestFlagsAbdridged proxyRequestFlags = 0x40000000
- proxyRequestFlagsQuickAck proxyRequestFlags = 0x80000000
- proxyRequestFlagsPad proxyRequestFlags = 0x8000000
- )
-
- var proxyRequestFlagsEncryptedPrefix [8]byte
-
- func (r proxyRequestFlags) Bytes() []byte {
- converted := make([]byte, 4)
- binary.LittleEndian.PutUint32(converted, uint32(r))
-
- return converted
- }
-
- func (r proxyRequestFlags) String() string {
- flags := make([]string, 0, 7)
-
- if r&proxyRequestFlagsHasAdTag != 0 {
- flags = append(flags, "HAS_AD_TAG")
- }
- if r&proxyRequestFlagsEncrypted != 0 {
- flags = append(flags, "ENCRYPTED")
- }
- if r&proxyRequestFlagsMagic != 0 {
- flags = append(flags, "MAGIC")
- }
- if r&proxyRequestFlagsExtMode2 != 0 {
- flags = append(flags, "EXT_MODE_2")
- }
- if r&proxyRequestFlagsIntermediate != 0 {
- flags = append(flags, "INTERMEDIATE")
- }
- if r&proxyRequestFlagsAbdridged != 0 {
- flags = append(flags, "ABRIDGED")
- }
- if r&proxyRequestFlagsQuickAck != 0 {
- flags = append(flags, "QUICK_ACK")
- }
- if r&proxyRequestFlagsPad != 0 {
- flags = append(flags, "PAD")
- }
-
- return strings.Join(flags, " | ")
- }
|