'When a message is received we will set the first receive timestamp,
tap the ``approximate_receive_count`` and the ``visible_at`` time.'

def mark_received(self, visibility_timeout=None):

    if visibility_timeout:
        visibility_timeout = int(visibility_timeout)
    else:
        visibility_timeout = 0
    if (not self.approximate_first_receive_timestamp):
        self.approximate_first_receive_timestamp = int(unix_time_millis())
    self.approximate_receive_count += 1
    if visibility_timeout:
        self.change_visibility(visibility_timeout)
    self.receipt_handle = generate_receipt_handle()
