Commit 51d61d28 authored by AdamSimpson's avatar AdamSimpson
Browse files

Who refactors the refactor?

parent 9f4ba764
Loading
Loading
Loading
Loading
Loading
+6 −7
Original line number Diff line number Diff line
@@ -7,17 +7,12 @@
// We must remove a reservation from the queue if it is destructed but we don't want
// The reservation to have a handle to the queue, else we have a weird circular dependency: reservation<-->queue
class ReservationRequest {
private:
    BuilderQueue &queue;
    Messenger& client;
    Reservation &reservation;

public:
    explicit ReservationRequest(BuilderQueue &queue, Messenger& client) :
                                               queue(queue),
                                               client(client),
                                               reservation(queue.enter()),
                                               error(reservation.error)
                                               reservation(queue.enter())
    {}

    ~ReservationRequest() {
@@ -25,5 +20,9 @@ public:
    }

    BuilderData async_wait();
    boost::system::error_code& error;

private:
    BuilderQueue &queue;
    Messenger& client;
    Reservation &reservation;
};
 No newline at end of file
+1 −1
Original line number Diff line number Diff line
@@ -9,7 +9,7 @@ void Connection::checkout_builder(Messenger& client) {
    logger::write(client.socket, "Requesting builder from the queue");
    ReservationRequest reservation(queue, client);
    BuilderData builder = reservation.async_wait();
    if (reservation.error) {
    if (client.error) {
        logger::write("reservation builder request failed: " + client.error.message());
        return;
    }
+1 −0
Original line number Diff line number Diff line
@@ -11,6 +11,7 @@ void Reservation::async_wait(Messenger& client) {
        ready_timer.async_wait(client.yield[error]);
        if (error != asio::error::operation_aborted) {
            logger::write("Error in reservation async_wait" + error.message());
            client.error = error;
            return;
        }
    }