'This is called when a write operation times out from the coordinator\'s
perspective (i.e. a replica did not respond to the coordinator in time).
`query` is the :class:`.Statement` that timed out.
`consistency` is the :class:`.ConsistencyLevel` that the operation was
attempted at.
`write_type` is one of the :class:`.WriteType` enums describing the
type of write operation.
The `required_responses` and `received_responses` parameters describe
how many replicas needed to acknowledge the write to meet the requested
consistency level and how many replicas actually did acknowledge the
write before the coordinator timed out the request.
`retry_num` counts how many times the operation has been retried, so
the first time this method is called, `retry_num` will be 0.
By default, failed write operations will retried at most once, and
they will only be retried if the `write_type` was
:attr:`~.WriteType.BATCH_LOG`.'

def on_write_timeout(self, query, consistency, write_type, required_responses, received_responses, retry_num):

    if (retry_num != 0):
        return (self.RETHROW, None)
    elif (write_type == WriteType.BATCH_LOG):
        return (self.RETRY, consistency)
    else:
        return (self.RETHROW, None)
