':param value: desired connection heartbeat timeout for negotiation or
None to accept broker\'s value. 0 turns heartbeat off.'

@heartbeat.setter
def heartbeat(self, value):

    if (value is not None):
        if (not isinstance(value, numbers.Integral)):
            raise TypeError(('heartbeat    must    be    an    int,    but    got    %r' % (value,)))
        if (value < 0):
            raise ValueError(('heartbeat    must    >=    0,    but    got    %r' % (value,)))
    self._heartbeat = value
