'Initialise a ScrambleSuitTransport object.'

def __init__(self, *args, **kwargs):

    super(ScrambleSuitTransport, self).__init__(*args, **kwargs)
    if self.weAreServer:
        self.srvState = state.load()
    self.protoState = const.ST_WAIT_FOR_AUTH
    self.sendBuf = ''
    self.choppingBuf = fifobuf.Buffer()
    self.sendCrypter = mycrypto.PayloadCrypter()
    self.recvCrypter = mycrypto.PayloadCrypter()
    self.pktMorpher = packetmorpher.new((self.srvState.pktDist if self.weAreServer else None))
    self.iatMorpher = (self.srvState.iatDist if self.weAreServer else probdist.new((lambda : (random.random() % const.MAX_PACKET_DELAY))))
    self.protoMsg = message.MessageExtractor()
    self.decryptedTicket = False
    if self.weAreExternal:
        assert self.uniformDHSecret
    if (self.weAreClient and (not self.weAreExternal)):
        self.uniformDHSecret = None
    self.uniformdh = uniformdh.new(self.uniformDHSecret, self.weAreServer)
