Commit 0672f6e0 authored by AdamSimpson's avatar AdamSimpson
Browse files

Cleanup code after refactor

parent 217356ec
Loading
Loading
Loading
Loading
+2 −3
Original line number Diff line number Diff line
#pragma once

#include <boost/asio.hpp>
#include <boost/asio/io_context.hpp>

namespace asio = boost::asio;

@@ -8,9 +8,8 @@ class Builder {
public:
    explicit Builder();

    // Start the IO service
    void run();

private:
    asio::io_service io_service;
    asio::io_context io_context;
};
+4 −4
Original line number Diff line number Diff line
@@ -4,10 +4,10 @@

Builder::Builder() {
    // Full build connection - this will not run until the io_service is started
    asio::spawn(io_service,
    asio::spawn(io_context,
                [&](asio::yield_context yield) {
                    boost::system::error_code error;
                    Messenger client(io_service, "8080", yield, error);
                    Messenger client(io_context, "8080", yield, error);
                    if (error) {
                        throw std::runtime_error("Error connecting to client: " + error.message());
                    }
@@ -38,7 +38,7 @@ Builder::Builder() {
                    }

                    // Create a pipe to communicate with our build subprocess
                    bp::async_pipe std_pipe(io_service);
                    bp::async_pipe std_pipe(io_context);

                    // Launch our build as a subprocess
                    // We use "unbuffer" to fake the build into thinking it has a real TTY, which the command output eventually will
@@ -83,5 +83,5 @@ Builder::Builder() {
}

void Builder::run() {
    io_service.run();
    io_context.run();
}
+3 −27
Original line number Diff line number Diff line
@@ -3,9 +3,9 @@
#include "BuilderQueue.h"
#include "Logger.h"
#include "Messenger.h"
#include <boost/asio/spawn.hpp>

namespace asio = boost::asio;
using asio::ip::tcp;

class Connection : public std::enable_shared_from_this<Connection> {
public:
@@ -16,31 +16,7 @@ public:
        logger::write("Ending connection");
    }

    void start(asio::io_context& io_context) {
        try {
            auto self(shared_from_this());

            logger::write("Established connection");

            asio::spawn(io_context,
                        [this, self](asio::yield_context yield) {
                            boost::system::error_code error;
                            auto request = messenger.async_read_string(yield, error);
                            if (error) {
                                logger::write("Request failure" + error.message());
                            } else if (request == "checkout_builder_request") {
                                checkout_builder(yield, error);
                            } else {
                                logger::write("Invalid request message received: " + request);
                            }

                        });
        } catch (std::exception& ex) {
            logger::write(std::string() + "Connection exception: " + ex.what());
        } catch(...) {
            logger::write("Unknown connection exception caught!");
        }
    }
    void start(asio::io_context &io_context);

private:
    BuilderQueue &queue;
+7 −3
Original line number Diff line number Diff line
@@ -8,7 +8,11 @@
namespace asio = boost::asio;

namespace OpenStackBuilder {
    std::set<BuilderData> get_builders(asio::io_context &io_context, asio::yield_context yield, boost::system::error_code &error);
    std::set<BuilderData>
    get_builders(asio::io_context &io_context, asio::yield_context yield, boost::system::error_code &error);

    void request_create(asio::io_context &io_context, asio::yield_context yield, boost::system::error_code &error);
    void destroy(BuilderData builder, asio::io_context& io_context, asio::yield_context yield, boost::system::error_code &error);

    void destroy(BuilderData builder, asio::io_context &io_context, asio::yield_context yield,
                 boost::system::error_code &error);
};
 No newline at end of file
+2 −3
Original line number Diff line number Diff line
@@ -11,8 +11,7 @@ class ReservationRequest {
public:
    explicit ReservationRequest(BuilderQueue &queue) :
            queue(queue),
                                               reservation(queue.enter())
    {}
            reservation(queue.enter()) {}

    ~ReservationRequest() {
        reservation.set_request_complete();
Loading