def _keySetup(self, sharedSecret, exchangeHash):
        if not self.sessionID:
            self.sessionID = exchangeHash
        initIVCS = self._getKey(b'A', sharedSecret, exchangeHash)
        initIVSC = self._getKey(b'B', sharedSecret, exchangeHash)
        encKeyCS = self._getKey(b'C', sharedSecret, exchangeHash)
        encKeySC = self._getKey(b'D', sharedSecret, exchangeHash)
        integKeyCS = self._getKey(b'E', sharedSecret, exchangeHash)
        integKeySC = self._getKey(b'F', sharedSecret, exchangeHash)
        outs = [initIVSC, encKeySC, integKeySC]
        ins = [initIVCS, encKeyCS, integKeyCS]
        if self.isClient: # Reverse for the client
            log.msg('REVERSE')
            outs, ins = ins, outs
        self.nextEncryptions.setKeys(outs[0], outs[1], ins[0], ins[1],
                                     outs[2], ins[2])
        self.sendPacket(MSG_NEWKEYS, b'')
Set a callable object (such as a function) which could return a
dataset/ETHPy150Open twisted/twisted/twisted/conch/ssh/transport.py/SSHTransportBase._keySetup--crossover with--dataset/ETHPy150Open tonyseek/simple-rbac/rbac/context.py/IdentityContext.set_roles_loader