mirror of
https://github.com/SystemRage/py-kms.git
synced 2024-11-29 11:44:20 +01:00
63 lines
1.9 KiB
Python
63 lines
1.9 KiB
Python
#!/usr/bin/env python3
|
|
|
|
import struct
|
|
import uuid
|
|
|
|
class rpcBase:
|
|
packetType = {
|
|
'request': 0,
|
|
'ping': 1,
|
|
'response': 2,
|
|
'fault': 3,
|
|
'working': 4,
|
|
'nocall': 5,
|
|
'reject': 6,
|
|
'ack': 7,
|
|
'clCancel': 8,
|
|
'fack': 9,
|
|
'cancelAck': 10,
|
|
'bindReq': 11,
|
|
'bindAck': 12,
|
|
'bindNak': 13,
|
|
'alterContext': 14,
|
|
'alterContextResp': 15,
|
|
'shutdown': 17,
|
|
'coCancel': 18,
|
|
'orphaned': 19
|
|
}
|
|
|
|
packetFlags = {
|
|
'firstFrag': 1, # 0x01
|
|
'lastFrag': 2, # 0x02
|
|
'cancelPending': 4, # 0x04
|
|
'reserved': 8, # 0x08
|
|
'multiplex': 16, # 0x10
|
|
'didNotExecute': 32, # 0x20
|
|
'maybe': 64, # 0x40
|
|
'objectUuid': 128 # 0x80
|
|
}
|
|
|
|
def __init__(self, data, config):
|
|
self.data = data
|
|
self.config = config
|
|
|
|
def populate(self):
|
|
self.requestData = self.parseRequest()
|
|
self.responseData = self.generateResponse()
|
|
return self
|
|
|
|
def getConfig(self):
|
|
return self.config
|
|
|
|
def getOptions(self):
|
|
return self.config
|
|
|
|
def getData(self):
|
|
return self.data
|
|
|
|
def parseRequest(self):
|
|
return {}
|
|
|
|
def getResponse(self):
|
|
return self.responseData
|