def create_session(self, flags=CREATE_SESSION4_FLAG_CONN_BACK_CHAN, fore_attrs=None, back_attrs=None, sec=None, prog=None): max_retries = 10 delay_time = 1 chan_attrs = channel_attrs4(0,8192,8192,8192,128,8,[]) if fore_attrs is None: fore_attrs = chan_attrs if back_attrs is None: back_attrs = chan_attrs if sec is None: sec= [callback_sec_parms4(0)] if prog is None: prog = self.c.prog for item in xrange(max_retries): res = self.c.compound([op.create_session(self.clientid, self.seqid, flags, fore_attrs, back_attrs, prog, sec)], self.cred) if res.status != NFS4ERR_DELAY: break time.sleep(delay_time) nfs4lib.check(res) return self._add_session(res.resarray[0])
def create_session(self, flags=CREATE_SESSION4_FLAG_CONN_BACK_CHAN, fore_attrs=None, back_attrs=None, sec=None, prog=None): res = self._create_session(flags=flags, fore_attrs=fore_attrs, back_attrs=back_attrs, sec=sec, prog=prog, max_retries=10); nfs4lib.check(res) return self._add_session(res.resarray[0])
def new_client(self, name, verf=None, cred=None, protect=None, flags=0, expect=NFS4_OK): """Establish a new client_id with the server""" if verf is None: verf = self.verifier owner = client_owner4(verf, name) if protect is None: protect = state_protect4_a(SP4_NONE) res = self.compound([op4.exchange_id(owner, flags, protect, [self.impl_id])], cred) nfs4lib.check(res, expect) if expect == NFS4_OK: return ClientRecord(res.resarray[0], self, cred, protect) else: return None