'The circuit state, can be either:
CIRCUIT_STATE_BROKEN, CIRCUIT_STATE_EXTENDING or CIRCUIT_STATE_READY
@rtype: str'

@property
def state(self):

    if self._broken:
        return CIRCUIT_STATE_BROKEN
    if (len(self.hops) < self.goal_hops):
        return CIRCUIT_STATE_EXTENDING
    else:
        return CIRCUIT_STATE_READY
