closeBackend
};
- ExpectedStep(ExpectedRequest r, IOState n, size_t b = 0, std::function<void(int descriptor, const ExpectedStep& step)> fn = nullptr) :
+ ExpectedStep(ExpectedRequest r, IOState n, size_t b = 0, std::function<void(int descriptor)> fn = nullptr) :
cb(fn), request(r), nextState(n), bytes(b)
{
}
- std::function<void(int descriptor, const ExpectedStep& step)> cb{nullptr};
+ std::function<void(int descriptor)> cb{nullptr};
ExpectedRequest request;
IOState nextState;
size_t bytes{0};
s_steps.pop_front();
if (step.cb) {
- step.cb(d_descriptor, step);
+ step.cb(d_descriptor);
}
return step;
/* headers */
{ExpectedStep::ExpectedRequest::writeToBackend, IOState::Done, std::numeric_limits<size_t>::max()},
/* data */
- {ExpectedStep::ExpectedRequest::writeToBackend, IOState::Done, std::numeric_limits<size_t>::max(), [](int desc, const ExpectedStep& step) {
+ {ExpectedStep::ExpectedRequest::writeToBackend, IOState::Done, std::numeric_limits<size_t>::max(), [](int desc) {
/* set the outgoing descriptor (backend connection) as ready */
dynamic_cast<MockupFDMultiplexer*>(s_mplexer.get())->setReady(desc);
}},
/* read settings, headers and response from the server */
- {ExpectedStep::ExpectedRequest::readFromBackend, IOState::Done, std::numeric_limits<size_t>::max(), [](int desc, const ExpectedStep& step) {
+ {ExpectedStep::ExpectedRequest::readFromBackend, IOState::Done, std::numeric_limits<size_t>::max(), [](int desc) {
/* set the outgoing descriptor (backend connection) as NOT ready anymore */
dynamic_cast<MockupFDMultiplexer*>(s_mplexer.get())->setNotReady(desc);
}},
/* acknowledge settings */
- {ExpectedStep::ExpectedRequest::writeToBackend, IOState::Done, std::numeric_limits<size_t>::max(), [](int desc, const ExpectedStep& step) {
+ {ExpectedStep::ExpectedRequest::writeToBackend, IOState::Done, std::numeric_limits<size_t>::max(), [](int desc) {
s_connectionBuffers.at(desc)->submitGoAway();
dynamic_cast<MockupFDMultiplexer*>(s_mplexer.get())->setReady(desc);
}},
/* headers */
{ExpectedStep::ExpectedRequest::writeToBackend, IOState::Done, std::numeric_limits<size_t>::max()},
/* data */
- {ExpectedStep::ExpectedRequest::writeToBackend, IOState::Done, std::numeric_limits<size_t>::max(), [](int desc, const ExpectedStep& step) {
+ {ExpectedStep::ExpectedRequest::writeToBackend, IOState::Done, std::numeric_limits<size_t>::max(), [](int desc) {
/* set the outgoing descriptor (backend connection) as ready */
dynamic_cast<MockupFDMultiplexer*>(s_mplexer.get())->setReady(desc);
}},
/* headers */
{ExpectedStep::ExpectedRequest::writeToBackend, IOState::Done, std::numeric_limits<size_t>::max()},
/* data */
- {ExpectedStep::ExpectedRequest::writeToBackend, IOState::Done, std::numeric_limits<size_t>::max(), [](int desc, const ExpectedStep& step) {
+ {ExpectedStep::ExpectedRequest::writeToBackend, IOState::Done, std::numeric_limits<size_t>::max(), [](int desc) {
/* set the outgoing descriptor (backend connection) as ready */
dynamic_cast<MockupFDMultiplexer*>(s_mplexer.get())->setReady(desc);
}},
/* read settings, headers and responses from the server */
{ExpectedStep::ExpectedRequest::readFromBackend, IOState::Done, std::numeric_limits<size_t>::max()},
/* acknowledge settings */
- {ExpectedStep::ExpectedRequest::writeToBackend, IOState::Done, std::numeric_limits<size_t>::max(), [](int desc, const ExpectedStep& step) {
+ {ExpectedStep::ExpectedRequest::writeToBackend, IOState::Done, std::numeric_limits<size_t>::max(), [](int desc) {
s_connectionBuffers.at(desc)->submitGoAway();
dynamic_cast<MockupFDMultiplexer*>(s_mplexer.get())->setReady(desc);
}},
/* headers */
{ExpectedStep::ExpectedRequest::writeToBackend, IOState::Done, std::numeric_limits<size_t>::max()},
/* data */
- {ExpectedStep::ExpectedRequest::writeToBackend, IOState::Done, std::numeric_limits<size_t>::max(), [](int desc, const ExpectedStep& step) {
+ {ExpectedStep::ExpectedRequest::writeToBackend, IOState::Done, std::numeric_limits<size_t>::max(), [](int desc) {
/* set the outgoing descriptor (backend connection) as ready */
dynamic_cast<MockupFDMultiplexer*>(s_mplexer.get())->setReady(desc);
}},
/* read settings, headers and responses from the server */
{ExpectedStep::ExpectedRequest::readFromBackend, IOState::Done, std::numeric_limits<size_t>::max()},
/* acknowledge settings */
- {ExpectedStep::ExpectedRequest::writeToBackend, IOState::Done, std::numeric_limits<size_t>::max(), [&firstQueryDone](int desc, const ExpectedStep& step) {
+ {ExpectedStep::ExpectedRequest::writeToBackend, IOState::Done, std::numeric_limits<size_t>::max(), [&firstQueryDone](int desc) {
firstQueryDone = true;
}},
/* headers */
- {ExpectedStep::ExpectedRequest::writeToBackend, IOState::Done, std::numeric_limits<size_t>::max(), [](int desc, const ExpectedStep& step) {
+ {ExpectedStep::ExpectedRequest::writeToBackend, IOState::Done, std::numeric_limits<size_t>::max(), [](int desc) {
}},
/* data */
- {ExpectedStep::ExpectedRequest::writeToBackend, IOState::Done, std::numeric_limits<size_t>::max(), [](int desc, const ExpectedStep& step) {
+ {ExpectedStep::ExpectedRequest::writeToBackend, IOState::Done, std::numeric_limits<size_t>::max(), [](int desc) {
/* set the outgoing descriptor (backend connection) as ready */
dynamic_cast<MockupFDMultiplexer*>(s_mplexer.get())->setReady(desc);
}},
/* read settings, headers and responses from the server */
{ExpectedStep::ExpectedRequest::readFromBackend, IOState::Done, std::numeric_limits<size_t>::max()},
/* later the backend sends a go away frame */
- {ExpectedStep::ExpectedRequest::readFromBackend, IOState::Done, std::numeric_limits<size_t>::max(), [](int desc, const ExpectedStep& step) {
+ {ExpectedStep::ExpectedRequest::readFromBackend, IOState::Done, std::numeric_limits<size_t>::max(), [](int desc) {
s_connectionBuffers.at(desc)->submitGoAway();
}},
{ExpectedStep::ExpectedRequest::closeBackend, IOState::Done},
/* headers */
{ExpectedStep::ExpectedRequest::writeToBackend, IOState::Done, std::numeric_limits<size_t>::max()},
/* data */
- {ExpectedStep::ExpectedRequest::writeToBackend, IOState::Done, std::numeric_limits<size_t>::max(), [](int desc, const ExpectedStep& step) {
+ {ExpectedStep::ExpectedRequest::writeToBackend, IOState::Done, std::numeric_limits<size_t>::max(), [](int desc) {
/* set the outgoing descriptor (backend connection) as ready */
dynamic_cast<MockupFDMultiplexer*>(s_mplexer.get())->setReady(desc);
}},
/* acknowledge settings */
{ExpectedStep::ExpectedRequest::writeToBackend, IOState::Done, std::numeric_limits<size_t>::max()},
/* try to read, the backend says to go away */
- {ExpectedStep::ExpectedRequest::readFromBackend, IOState::Done, std::numeric_limits<size_t>::max(), [](int desc, const ExpectedStep& step) {
+ {ExpectedStep::ExpectedRequest::readFromBackend, IOState::Done, std::numeric_limits<size_t>::max(), [](int desc) {
s_connectionBuffers.at(desc)->submitGoAway();
}},
{ExpectedStep::ExpectedRequest::closeBackend, IOState::Done},
/* headers */
{ExpectedStep::ExpectedRequest::writeToBackend, IOState::Done, std::numeric_limits<size_t>::max()},
/* data */
- {ExpectedStep::ExpectedRequest::writeToBackend, IOState::NeedWrite, std::numeric_limits<size_t>::max(), [&timeout](int desc, const ExpectedStep& step) {
+ {ExpectedStep::ExpectedRequest::writeToBackend, IOState::NeedWrite, std::numeric_limits<size_t>::max(), [&timeout](int desc) {
timeout = true;
}},
{ExpectedStep::ExpectedRequest::closeBackend, IOState::Done},
/* headers */
{ExpectedStep::ExpectedRequest::writeToBackend, IOState::Done, std::numeric_limits<size_t>::max()},
/* data */
- {ExpectedStep::ExpectedRequest::writeToBackend, IOState::Done, std::numeric_limits<size_t>::max(), [&timeout](int desc, const ExpectedStep& step) {
+ {ExpectedStep::ExpectedRequest::writeToBackend, IOState::Done, std::numeric_limits<size_t>::max(), [&timeout](int desc) {
/* set the timeout flag now, since the timeout occurs while waiting for the descriptor to become readable */
timeout = true;
}},
/* opening */
{ExpectedStep::ExpectedRequest::writeToBackend, IOState::Done, std::numeric_limits<size_t>::max()},
/* settings */
- {ExpectedStep::ExpectedRequest::writeToBackend, IOState::NeedWrite, 2, [](int desc, const ExpectedStep& step) {
+ {ExpectedStep::ExpectedRequest::writeToBackend, IOState::NeedWrite, 2, [](int desc) {
/* set the outgoing descriptor (backend connection) as ready */
dynamic_cast<MockupFDMultiplexer*>(s_mplexer.get())->setReady(desc);
}},
/* read settings, headers and responses from the server */
{ExpectedStep::ExpectedRequest::readFromBackend, IOState::Done, std::numeric_limits<size_t>::max()},
/* acknowledge settings */
- {ExpectedStep::ExpectedRequest::writeToBackend, IOState::Done, std::numeric_limits<size_t>::max(), [&done](int desc, const ExpectedStep& step) {
+ {ExpectedStep::ExpectedRequest::writeToBackend, IOState::Done, std::numeric_limits<size_t>::max(), [&done](int desc) {
/* mark backend as not ready */
dynamic_cast<MockupFDMultiplexer*>(s_mplexer.get())->setNotReady(desc);
done = true;
/* headers */
{ExpectedStep::ExpectedRequest::writeToBackend, IOState::Done, std::numeric_limits<size_t>::max()},
/* data */
- {ExpectedStep::ExpectedRequest::writeToBackend, IOState::Done, std::numeric_limits<size_t>::max(), [](int desc, const ExpectedStep& step) {
+ {ExpectedStep::ExpectedRequest::writeToBackend, IOState::Done, std::numeric_limits<size_t>::max(), [](int desc) {
/* set the outgoing descriptor (backend connection) as ready */
dynamic_cast<MockupFDMultiplexer*>(s_mplexer.get())->setReady(desc);
}},
/* headers */
{ExpectedStep::ExpectedRequest::writeToBackend, IOState::Done, std::numeric_limits<size_t>::max()},
/* data */
- {ExpectedStep::ExpectedRequest::writeToBackend, IOState::Done, std::numeric_limits<size_t>::max(), [](int desc, const ExpectedStep& step) {
+ {ExpectedStep::ExpectedRequest::writeToBackend, IOState::Done, std::numeric_limits<size_t>::max(), [](int desc) {
/* set the outgoing descriptor (backend connection) as ready */
dynamic_cast<MockupFDMultiplexer*>(s_mplexer.get())->setReady(desc);
}},
/* read settings, headers and responses (second attempt) */
{ExpectedStep::ExpectedRequest::readFromBackend, IOState::Done, std::numeric_limits<size_t>::max()},
/* acknowledge settings */
- {ExpectedStep::ExpectedRequest::writeToBackend, IOState::Done, std::numeric_limits<size_t>::max(), [&done](int desc, const ExpectedStep& step) {
+ {ExpectedStep::ExpectedRequest::writeToBackend, IOState::Done, std::numeric_limits<size_t>::max(), [&done](int desc) {
/* mark backend as not ready */
dynamic_cast<MockupFDMultiplexer*>(s_mplexer.get())->setNotReady(desc);
done = true;
/* headers */
{ExpectedStep::ExpectedRequest::writeToBackend, IOState::Done, std::numeric_limits<size_t>::max()},
/* data */
- {ExpectedStep::ExpectedRequest::writeToBackend, IOState::Done, std::numeric_limits<size_t>::max(), [](int desc, const ExpectedStep& step) {
+ {ExpectedStep::ExpectedRequest::writeToBackend, IOState::Done, std::numeric_limits<size_t>::max(), [](int desc) {
/* set the outgoing descriptor (backend connection) as ready */
dynamic_cast<MockupFDMultiplexer*>(s_mplexer.get())->setReady(desc);
}},
/* headers */
{ExpectedStep::ExpectedRequest::writeToBackend, IOState::Done, std::numeric_limits<size_t>::max()},
/* data */
- {ExpectedStep::ExpectedRequest::writeToBackend, IOState::Done, std::numeric_limits<size_t>::max(), [](int desc, const ExpectedStep& step) {
+ {ExpectedStep::ExpectedRequest::writeToBackend, IOState::Done, std::numeric_limits<size_t>::max(), [](int desc) {
/* set the outgoing descriptor (backend connection) as ready */
dynamic_cast<MockupFDMultiplexer*>(s_mplexer.get())->setReady(desc);
}},
/* headers */
{ExpectedStep::ExpectedRequest::writeToBackend, IOState::Done, std::numeric_limits<size_t>::max()},
/* data */
- {ExpectedStep::ExpectedRequest::writeToBackend, IOState::Done, std::numeric_limits<size_t>::max(), [](int desc, const ExpectedStep& step) {
+ {ExpectedStep::ExpectedRequest::writeToBackend, IOState::Done, std::numeric_limits<size_t>::max(), [](int desc) {
/* set the outgoing descriptor (backend connection) as ready */
dynamic_cast<MockupFDMultiplexer*>(s_mplexer.get())->setReady(desc);
}},
/* read settings, headers and response from the server */
{ExpectedStep::ExpectedRequest::readFromBackend, IOState::Done, std::numeric_limits<size_t>::max()},
/* acknowledge settings */
- {ExpectedStep::ExpectedRequest::writeToBackend, IOState::Done, std::numeric_limits<size_t>::max(), [&done](int desc, const ExpectedStep& step) {
+ {ExpectedStep::ExpectedRequest::writeToBackend, IOState::Done, std::numeric_limits<size_t>::max(), [&done](int desc) {
/* mark backend as not ready */
dynamic_cast<MockupFDMultiplexer*>(s_mplexer.get())->setNotReady(desc);
done = true;
/* headers */
{ExpectedStep::ExpectedRequest::writeToBackend, IOState::Done, std::numeric_limits<size_t>::max()},
/* data */
- {ExpectedStep::ExpectedRequest::writeToBackend, IOState::Done, std::numeric_limits<size_t>::max(), [](int desc, const ExpectedStep& step) {
+ {ExpectedStep::ExpectedRequest::writeToBackend, IOState::Done, std::numeric_limits<size_t>::max(), [](int desc) {
/* set the outgoing descriptor (backend connection) as ready */
dynamic_cast<MockupFDMultiplexer*>(s_mplexer.get())->setReady(desc);
}},
/* headers */
{ExpectedStep::ExpectedRequest::writeToBackend, IOState::Done, std::numeric_limits<size_t>::max()},
/* data */
- {ExpectedStep::ExpectedRequest::writeToBackend, IOState::Done, std::numeric_limits<size_t>::max(), [](int desc, const ExpectedStep& step) {
+ {ExpectedStep::ExpectedRequest::writeToBackend, IOState::Done, std::numeric_limits<size_t>::max(), [](int desc) {
/* set the outgoing descriptor (backend connection) as ready */
dynamic_cast<MockupFDMultiplexer*>(s_mplexer.get())->setReady(desc);
}},
/* headers */
{ExpectedStep::ExpectedRequest::writeToBackend, IOState::Done, std::numeric_limits<size_t>::max()},
/* data */
- {ExpectedStep::ExpectedRequest::writeToBackend, IOState::Done, std::numeric_limits<size_t>::max(), [](int desc, const ExpectedStep& step) {
+ {ExpectedStep::ExpectedRequest::writeToBackend, IOState::Done, std::numeric_limits<size_t>::max(), [](int desc) {
/* set the outgoing descriptor (backend connection) as ready */
dynamic_cast<MockupFDMultiplexer*>(s_mplexer.get())->setReady(desc);
}},
/* headers */
{ExpectedStep::ExpectedRequest::writeToBackend, IOState::Done, std::numeric_limits<size_t>::max()},
/* data */
- {ExpectedStep::ExpectedRequest::writeToBackend, IOState::Done, std::numeric_limits<size_t>::max(), [](int desc, const ExpectedStep& step) {
+ {ExpectedStep::ExpectedRequest::writeToBackend, IOState::Done, std::numeric_limits<size_t>::max(), [](int desc) {
/* set the outgoing descriptor (backend connection) as ready */
dynamic_cast<MockupFDMultiplexer*>(s_mplexer.get())->setReady(desc);
}},
/* headers */
{ExpectedStep::ExpectedRequest::writeToBackend, IOState::Done, std::numeric_limits<size_t>::max()},
/* data */
- {ExpectedStep::ExpectedRequest::writeToBackend, IOState::Done, std::numeric_limits<size_t>::max(), [](int desc, const ExpectedStep& step) {
+ {ExpectedStep::ExpectedRequest::writeToBackend, IOState::Done, std::numeric_limits<size_t>::max(), [](int desc) {
/* set the outgoing descriptor (backend connection) as ready */
dynamic_cast<MockupFDMultiplexer*>(s_mplexer.get())->setReady(desc);
}},
/* headers */
{ExpectedStep::ExpectedRequest::writeToBackend, IOState::Done, std::numeric_limits<size_t>::max()},
/* data */
- {ExpectedStep::ExpectedRequest::writeToBackend, IOState::Done, std::numeric_limits<size_t>::max(), [](int desc, const ExpectedStep& step) {
+ {ExpectedStep::ExpectedRequest::writeToBackend, IOState::Done, std::numeric_limits<size_t>::max(), [](int desc) {
/* set the outgoing descriptor (backend connection) as ready */
dynamic_cast<MockupFDMultiplexer*>(s_mplexer.get())->setReady(desc);
}},
/* read settings, headers and responses from the server */
{ExpectedStep::ExpectedRequest::readFromBackend, IOState::Done, std::numeric_limits<size_t>::max()},
/* acknowledge settings */
- {ExpectedStep::ExpectedRequest::writeToBackend, IOState::Done, std::numeric_limits<size_t>::max(), [&done](int desc, const ExpectedStep& step) {
+ {ExpectedStep::ExpectedRequest::writeToBackend, IOState::Done, std::numeric_limits<size_t>::max(), [&done](int desc) {
/* mark backend as not ready */
dynamic_cast<MockupFDMultiplexer*>(s_mplexer.get())->setNotReady(desc);
done = true;
/* headers */
{ExpectedStep::ExpectedRequest::writeToBackend, IOState::Done, std::numeric_limits<size_t>::max()},
/* data */
- {ExpectedStep::ExpectedRequest::writeToBackend, IOState::Done, std::numeric_limits<size_t>::max(), [](int desc, const ExpectedStep& step) {
+ {ExpectedStep::ExpectedRequest::writeToBackend, IOState::Done, std::numeric_limits<size_t>::max(), [](int desc) {
/* set the outgoing descriptor (backend connection) as ready */
dynamic_cast<MockupFDMultiplexer*>(s_mplexer.get())->setReady(desc);
}},
/* headers */
{ExpectedStep::ExpectedRequest::writeToBackend, IOState::Done, std::numeric_limits<size_t>::max()},
/* data */
- {ExpectedStep::ExpectedRequest::writeToBackend, IOState::Done, std::numeric_limits<size_t>::max(), [](int desc, const ExpectedStep& step) {
+ {ExpectedStep::ExpectedRequest::writeToBackend, IOState::Done, std::numeric_limits<size_t>::max(), [](int desc) {
/* set the outgoing descriptor (backend connection) as ready */
dynamic_cast<MockupFDMultiplexer*>(s_mplexer.get())->setReady(desc);
}},
/* acknowledge settings */
{ExpectedStep::ExpectedRequest::writeToBackend, IOState::Done, std::numeric_limits<size_t>::max()},
/* read ends up as a time out since nghttp2 filters the frame with the wrong stream ID */
- {ExpectedStep::ExpectedRequest::readFromBackend, IOState::NeedRead, 0, [&timeout](int desc, const ExpectedStep& step) {
+ {ExpectedStep::ExpectedRequest::readFromBackend, IOState::NeedRead, 0, [&timeout](int desc) {
/* set the timeout flag now, since the timeout occurs while waiting for the descriptor to become readable */
timeout = true;
}},
/* headers */
{ExpectedStep::ExpectedRequest::writeToBackend, IOState::Done, std::numeric_limits<size_t>::max()},
/* data */
- {ExpectedStep::ExpectedRequest::writeToBackend, IOState::Done, std::numeric_limits<size_t>::max(), [](int desc, const ExpectedStep& step) {
+ {ExpectedStep::ExpectedRequest::writeToBackend, IOState::Done, std::numeric_limits<size_t>::max(), [](int desc) {
/* set the outgoing descriptor (backend connection) as ready */
dynamic_cast<MockupFDMultiplexer*>(s_mplexer.get())->setReady(desc);
}},
/* headers */
{ExpectedStep::ExpectedRequest::writeToBackend, IOState::Done, std::numeric_limits<size_t>::max()},
/* data */
- {ExpectedStep::ExpectedRequest::writeToBackend, IOState::Done, std::numeric_limits<size_t>::max(), [](int desc, const ExpectedStep& step) {
+ {ExpectedStep::ExpectedRequest::writeToBackend, IOState::Done, std::numeric_limits<size_t>::max(), [](int desc) {
/* set the outgoing descriptor (backend connection) as ready */
dynamic_cast<MockupFDMultiplexer*>(s_mplexer.get())->setReady(desc);
}},
public:
enum class ExpectedRequest { handshakeClient, readFromClient, writeToClient, closeClient, connectToBackend, readFromBackend, writeToBackend, closeBackend };
- ExpectedStep(ExpectedRequest r, IOState n, size_t b = 0, std::function<void(int descriptor, const ExpectedStep& step)> fn = nullptr): cb(fn), request(r), nextState(n), bytes(b)
+ ExpectedStep(ExpectedRequest r, IOState n, size_t b = 0, std::function<void(int descriptor)> fn = nullptr): cb(fn), request(r), nextState(n), bytes(b)
{
}
- std::function<void(int descriptor, const ExpectedStep& step)> cb{nullptr};
+ std::function<void(int descriptor)> cb{nullptr};
ExpectedRequest request;
IOState nextState;
size_t bytes{0};
s_steps.pop_front();
if (step.cb) {
- step.cb(d_descriptor, step);
+ step.cb(d_descriptor);
}
return step;
{ ExpectedStep::ExpectedRequest::readFromClient, IOState::Done, 2 },
{ ExpectedStep::ExpectedRequest::readFromClient, IOState::Done, query.size() - 2 },
/* connect to backend */
- { ExpectedStep::ExpectedRequest::connectToBackend, IOState::NeedWrite, 0, [&threadData](int desc, const ExpectedStep& step) {
+ { ExpectedStep::ExpectedRequest::connectToBackend, IOState::NeedWrite, 0, [&threadData](int desc) {
/* set the outgoing descriptor (backend connection) as ready */
dynamic_cast<MockupFDMultiplexer*>(threadData.mplexer.get())->setReady(desc);
}
{ ExpectedStep::ExpectedRequest::readFromClient, IOState::Done, 2 },
{ ExpectedStep::ExpectedRequest::readFromClient, IOState::Done, query.size() - 2 },
/* opening a connection to the backend (5 tries by default) */
- { ExpectedStep::ExpectedRequest::connectToBackend, IOState::Done, 0, [](int descriptor, const ExpectedStep& step) {
+ { ExpectedStep::ExpectedRequest::connectToBackend, IOState::Done, 0, [](int descriptor) {
throw NetworkError("Connection refused by the backend");
}
},
{ ExpectedStep::ExpectedRequest::closeBackend, IOState::Done },
- { ExpectedStep::ExpectedRequest::connectToBackend, IOState::Done, 0, [](int descriptor, const ExpectedStep& step) {
+ { ExpectedStep::ExpectedRequest::connectToBackend, IOState::Done, 0, [](int descriptor) {
throw NetworkError("Connection refused by the backend");
}
},
{ ExpectedStep::ExpectedRequest::closeBackend, IOState::Done },
- { ExpectedStep::ExpectedRequest::connectToBackend, IOState::Done, 0, [](int descriptor, const ExpectedStep& step) {
+ { ExpectedStep::ExpectedRequest::connectToBackend, IOState::Done, 0, [](int descriptor) {
throw NetworkError("Connection refused by the backend");
}
},
{ ExpectedStep::ExpectedRequest::closeBackend, IOState::Done },
- { ExpectedStep::ExpectedRequest::connectToBackend, IOState::Done, 0, [](int descriptor, const ExpectedStep& step) {
+ { ExpectedStep::ExpectedRequest::connectToBackend, IOState::Done, 0, [](int descriptor) {
throw NetworkError("Connection refused by the backend");
}
},
{ ExpectedStep::ExpectedRequest::closeBackend, IOState::Done },
- { ExpectedStep::ExpectedRequest::connectToBackend, IOState::Done, 0, [](int descriptor, const ExpectedStep& step) {
+ { ExpectedStep::ExpectedRequest::connectToBackend, IOState::Done, 0, [](int descriptor) {
throw NetworkError("Connection refused by the backend");
}
},
{ ExpectedStep::ExpectedRequest::writeToBackend, IOState::Done, 0 },
{ ExpectedStep::ExpectedRequest::closeBackend, IOState::Done },
/* and now reconnection fails (1) */
- { ExpectedStep::ExpectedRequest::connectToBackend, IOState::Done, 0, [](int descriptor, const ExpectedStep& step) {
+ { ExpectedStep::ExpectedRequest::connectToBackend, IOState::Done, 0, [](int descriptor) {
throw NetworkError("Connection refused by the backend");
}
},
{ ExpectedStep::ExpectedRequest::closeBackend, IOState::Done },
/* 2 */
- { ExpectedStep::ExpectedRequest::connectToBackend, IOState::Done, 0, [](int descriptor, const ExpectedStep& step) {
+ { ExpectedStep::ExpectedRequest::connectToBackend, IOState::Done, 0, [](int descriptor) {
throw NetworkError("Connection refused by the backend");
}
},
{ ExpectedStep::ExpectedRequest::closeBackend, IOState::Done },
/* 3 */
- { ExpectedStep::ExpectedRequest::connectToBackend, IOState::Done, 0, [](int descriptor, const ExpectedStep& step) {
+ { ExpectedStep::ExpectedRequest::connectToBackend, IOState::Done, 0, [](int descriptor) {
throw NetworkError("Connection refused by the backend");
}
},
{ ExpectedStep::ExpectedRequest::closeBackend, IOState::Done },
/* 4 */
- { ExpectedStep::ExpectedRequest::connectToBackend, IOState::Done, 0, [](int descriptor, const ExpectedStep& step) {
+ { ExpectedStep::ExpectedRequest::connectToBackend, IOState::Done, 0, [](int descriptor) {
throw NetworkError("Connection refused by the backend");
}
},
/* sending query to the backend */
{ ExpectedStep::ExpectedRequest::writeToBackend, IOState::Done, queries.at(4).size() },
/* no response ready yet, but the backend becomes ready */
- { ExpectedStep::ExpectedRequest::readFromBackend, IOState::NeedRead, 0, [&threadData](int desc, const ExpectedStep& step) {
+ { ExpectedStep::ExpectedRequest::readFromBackend, IOState::NeedRead, 0, [&threadData](int desc) {
/* set the outgoing descriptor (backend connection) as ready */
dynamic_cast<MockupFDMultiplexer*>(threadData.mplexer.get())->setReady(desc);
} },
{ ExpectedStep::ExpectedRequest::readFromBackend, IOState::Done, responses.at(0).size() - 2 },
{ ExpectedStep::ExpectedRequest::readFromBackend, IOState::Done, responses.at(0).size() },
/* sending it to the client, the client descriptor becomes ready */
- { ExpectedStep::ExpectedRequest::writeToClient, IOState::Done, responses.at(0).size(), [&threadData](int desc, const ExpectedStep& step) {
+ { ExpectedStep::ExpectedRequest::writeToClient, IOState::Done, responses.at(0).size(), [&threadData](int desc) {
/* set the incoming descriptor (client connection) as ready */
dynamic_cast<MockupFDMultiplexer*>(threadData.mplexer.get())->setReady(desc);
} },
{ ExpectedStep::ExpectedRequest::writeToBackend, IOState::Done, queries.at(4).size() },
/* reading a response from the backend (1) */
{ ExpectedStep::ExpectedRequest::readFromBackend, IOState::Done, responses.at(0).size() - 2 },
- { ExpectedStep::ExpectedRequest::readFromBackend, IOState::Done, responses.at(0).size(), [&threadData](int desc, const ExpectedStep& step) {
+ { ExpectedStep::ExpectedRequest::readFromBackend, IOState::Done, responses.at(0).size(), [&threadData](int desc) {
/* set the backend descriptor as ready */
dynamic_cast<MockupFDMultiplexer*>(threadData.mplexer.get())->setReady(desc);
} },
/* sending it to the client (1) */
- { ExpectedStep::ExpectedRequest::writeToClient, IOState::Done, responses.at(0).size(), [&threadData](int desc, const ExpectedStep& step) {
+ { ExpectedStep::ExpectedRequest::writeToClient, IOState::Done, responses.at(0).size(), [&threadData](int desc) {
/* set the client descriptor as NOT ready */
dynamic_cast<MockupFDMultiplexer*>(threadData.mplexer.get())->setNotReady(desc);
} },
{ ExpectedStep::ExpectedRequest::writeToClient, IOState::Done, responses.at(4).size() },
/* try to read from the backend but there is no answer ready yet */
- { ExpectedStep::ExpectedRequest::readFromBackend, IOState::NeedRead, 0, [&threadData, &timeout](int desc, const ExpectedStep& step) {
+ { ExpectedStep::ExpectedRequest::readFromBackend, IOState::NeedRead, 0, [&threadData, &timeout](int desc) {
/* set the backend descriptor as NOT ready */
dynamic_cast<MockupFDMultiplexer*>(threadData.mplexer.get())->setNotReady(desc);
timeout = true;
{ ExpectedStep::ExpectedRequest::writeToBackend, IOState::Done, queries.at(0).size() },
/* read response size and the beginning of the response (1) from the backend */
{ ExpectedStep::ExpectedRequest::readFromBackend, IOState::Done, 2 },
- { ExpectedStep::ExpectedRequest::readFromBackend, IOState::NeedRead, 1, [&threadData](int desc, const ExpectedStep& step) {
+ { ExpectedStep::ExpectedRequest::readFromBackend, IOState::NeedRead, 1, [&threadData](int desc) {
/* set the backend descriptor as ready */
dynamic_cast<MockupFDMultiplexer*>(threadData.mplexer.get())->setReady(desc);
} },
{ ExpectedStep::ExpectedRequest::readFromClient, IOState::Done, 2 },
{ ExpectedStep::ExpectedRequest::readFromClient, IOState::Done, queries.at(1).size() - 2 },
/* trying to read an additional query, if any */
- { ExpectedStep::ExpectedRequest::readFromClient, IOState::NeedRead, 0, [&threadData](int desc, const ExpectedStep& step) {
+ { ExpectedStep::ExpectedRequest::readFromClient, IOState::NeedRead, 0, [&threadData](int desc) {
/* set the client descriptor as NOT ready */
dynamic_cast<MockupFDMultiplexer*>(threadData.mplexer.get())->setNotReady(desc);
} },
{ ExpectedStep::ExpectedRequest::readFromBackend, IOState::Done, 2 },
{ ExpectedStep::ExpectedRequest::readFromBackend, IOState::Done, responses.at(1).size() - 2 },
/* sending response (2) to the client */
- { ExpectedStep::ExpectedRequest::writeToClient, IOState::Done, responses.at(1).size(), [&threadData](int desc, const ExpectedStep& step) {
+ { ExpectedStep::ExpectedRequest::writeToClient, IOState::Done, responses.at(1).size(), [&threadData](int desc) {
/* set the client descriptor as ready */
dynamic_cast<MockupFDMultiplexer*>(threadData.mplexer.get())->setReady(desc);
} },
/* opening a connection to the backend */
{ ExpectedStep::ExpectedRequest::connectToBackend, IOState::Done },
/* sending query (3) to the backend, short write */
- { ExpectedStep::ExpectedRequest::writeToBackend, IOState::NeedWrite, 1, [&threadData,&backendDesc](int desc, const ExpectedStep& step) {
+ { ExpectedStep::ExpectedRequest::writeToBackend, IOState::NeedWrite, 1, [&threadData,&backendDesc](int desc) {
/* set the backend descriptor as NOT ready */
dynamic_cast<MockupFDMultiplexer*>(threadData.mplexer.get())->setNotReady(desc);
backendDesc = desc;
{ ExpectedStep::ExpectedRequest::readFromClient, IOState::Done, queries.at(3).size() - 2 },
/* reading a query from the client (5) */
{ ExpectedStep::ExpectedRequest::readFromClient, IOState::Done, 2 },
- { ExpectedStep::ExpectedRequest::readFromClient, IOState::Done, queries.at(4).size() - 2, [&threadData,&backendDesc](int desc, const ExpectedStep& step) {
+ { ExpectedStep::ExpectedRequest::readFromClient, IOState::Done, queries.at(4).size() - 2, [&threadData,&backendDesc](int desc) {
/* set the backend descriptor as ready now */
dynamic_cast<MockupFDMultiplexer*>(threadData.mplexer.get())->setReady(backendDesc);
} },
/* nothing else to read from the client for now */
- { ExpectedStep::ExpectedRequest::readFromClient, IOState::NeedRead, 0, [&threadData](int desc, const ExpectedStep& step) {
+ { ExpectedStep::ExpectedRequest::readFromClient, IOState::NeedRead, 0, [&threadData](int desc) {
/* set the client descriptor as NOT ready */
dynamic_cast<MockupFDMultiplexer*>(threadData.mplexer.get())->setNotReady(desc);
} },
{ ExpectedStep::ExpectedRequest::readFromBackend, IOState::Done, 2 },
{ ExpectedStep::ExpectedRequest::readFromBackend, IOState::Done, responses.at(3).size() - 2 },
/* sending it to the client (4) but short write */
- { ExpectedStep::ExpectedRequest::writeToClient, IOState::NeedWrite, responses.at(3).size() - 1, [&threadData](int desc, const ExpectedStep& step) {
+ { ExpectedStep::ExpectedRequest::writeToClient, IOState::NeedWrite, responses.at(3).size() - 1, [&threadData](int desc) {
/* set the client descriptor as NOT ready */
dynamic_cast<MockupFDMultiplexer*>(threadData.mplexer.get())->setNotReady(desc);
} },
/* reading a response from the backend (5) */
{ ExpectedStep::ExpectedRequest::readFromBackend, IOState::Done, 2 },
- { ExpectedStep::ExpectedRequest::readFromBackend, IOState::Done, responses.at(4).size() - 2, [&threadData](int desc, const ExpectedStep& step) {
+ { ExpectedStep::ExpectedRequest::readFromBackend, IOState::Done, responses.at(4).size() - 2, [&threadData](int desc) {
/* set the client descriptor as ready to resume sending */
dynamic_cast<MockupFDMultiplexer*>(threadData.mplexer.get())->setReady(-1);
} },
{ ExpectedStep::ExpectedRequest::writeToClient, IOState::Done, responses.at(4).size() },
/* nothing to read from the client, then timeout later */
- { ExpectedStep::ExpectedRequest::readFromClient, IOState::NeedRead, 0, [&threadData,&timeout](int desc, const ExpectedStep& step) {
+ { ExpectedStep::ExpectedRequest::readFromClient, IOState::NeedRead, 0, [&threadData,&timeout](int desc) {
/* set the client descriptor as NOT ready */
dynamic_cast<MockupFDMultiplexer*>(threadData.mplexer.get())->setNotReady(desc);
timeout = true;
{ ExpectedStep::ExpectedRequest::readFromClient, IOState::Done, 2 },
{ ExpectedStep::ExpectedRequest::readFromClient, IOState::Done, queries.at(1).size() - 2 },
/* query is dropped, closing the connection to the client */
- { ExpectedStep::ExpectedRequest::closeClient, IOState::Done, 0, [&timeout](int desc, const ExpectedStep& step) {
+ { ExpectedStep::ExpectedRequest::closeClient, IOState::Done, 0, [&timeout](int desc) {
timeout = true;
} },
/* closing a connection to the backend after a timeout */
{ ExpectedStep::ExpectedRequest::readFromClient, IOState::Done, 2 },
{ ExpectedStep::ExpectedRequest::readFromClient, IOState::Done, queries.at(0).size() - 2 },
/* opening a connection to the backend */
- { ExpectedStep::ExpectedRequest::connectToBackend, IOState::Done, 0, [&backendDescriptor](int desc, const ExpectedStep& step) {
+ { ExpectedStep::ExpectedRequest::connectToBackend, IOState::Done, 0, [&backendDescriptor](int desc) {
backendDescriptor = desc;
} },
/* sending query to the backend */
{ ExpectedStep::ExpectedRequest::readFromClient, IOState::Done, 2 },
{ ExpectedStep::ExpectedRequest::readFromClient, IOState::Done, queries.at(1).size() - 2 },
/* query is dropped, closing the connection to the client */
- { ExpectedStep::ExpectedRequest::closeClient, IOState::Done, 0, [&threadData,&backendDescriptor](int desc, const ExpectedStep& step) {
+ { ExpectedStep::ExpectedRequest::closeClient, IOState::Done, 0, [&threadData,&backendDescriptor](int desc) {
/* the backend descriptor becomes ready */
dynamic_cast<MockupFDMultiplexer*>(threadData.mplexer.get())->setReady(backendDescriptor);
} },
/* sending query (2) to the backend */
{ ExpectedStep::ExpectedRequest::writeToBackend, IOState::Done, queries.at(1).size() },
/* no response ready yet */
- { ExpectedStep::ExpectedRequest::readFromBackend, IOState::NeedRead, 0, [&timeout,&backendDescriptor](int desc, const ExpectedStep& step) {
+ { ExpectedStep::ExpectedRequest::readFromBackend, IOState::NeedRead, 0, [&timeout,&backendDescriptor](int desc) {
backendDescriptor = desc;
timeout = true;
} },
{ ExpectedStep::ExpectedRequest::readFromBackend, IOState::Done, 2 },
{ ExpectedStep::ExpectedRequest::readFromBackend, IOState::Done, responses.at(0).size() - 2 },
/* sending response (1) to the client */
- { ExpectedStep::ExpectedRequest::writeToClient, IOState::Done, responses.at(0).size(), [&threadData](int desc, const ExpectedStep& step) {
+ { ExpectedStep::ExpectedRequest::writeToClient, IOState::Done, responses.at(0).size(), [&threadData](int desc) {
/* setting the client descriptor ready */
dynamic_cast<MockupFDMultiplexer*>(threadData.mplexer.get())->setReady(desc);
} },
{ ExpectedStep::ExpectedRequest::readFromClient, IOState::Done, queries.at(4).size() - 2 },
/* sending query (3) to the backend */
{ ExpectedStep::ExpectedRequest::writeToBackend, IOState::Done, queries.at(4).size() },
- { ExpectedStep::ExpectedRequest::readFromBackend, IOState::NeedRead, 0, [&threadData](int desc, const ExpectedStep& step) {
+ { ExpectedStep::ExpectedRequest::readFromBackend, IOState::NeedRead, 0, [&threadData](int desc) {
/* setting the backend descriptor NOT ready */
dynamic_cast<MockupFDMultiplexer*>(threadData.mplexer.get())->setNotReady(desc);
} },
/* try to read from the client again, nothing yet */
- { ExpectedStep::ExpectedRequest::readFromClient, IOState::NeedRead, 0, [&threadData,&backendDescriptor](int desc, const ExpectedStep& step) {
+ { ExpectedStep::ExpectedRequest::readFromClient, IOState::NeedRead, 0, [&threadData,&backendDescriptor](int desc) {
/* the client descriptor becomes NOT ready */
dynamic_cast<MockupFDMultiplexer*>(threadData.mplexer.get())->setNotReady(desc);
/* the backend one is ready, though */
{ ExpectedStep::ExpectedRequest::readFromBackend, IOState::Done, 2 },
{ ExpectedStep::ExpectedRequest::readFromBackend, IOState::Done, responses.at(4).size() - 2 },
/* sending response (3) to the client */
- { ExpectedStep::ExpectedRequest::writeToClient, IOState::Done, responses.at(4).size(), [&timeout](int desc, const ExpectedStep& step) {
+ { ExpectedStep::ExpectedRequest::writeToClient, IOState::Done, responses.at(4).size(), [&timeout](int desc) {
timeout = true;
} },
/* client times out again, this time we close the connection */
/* sending query (3) to the backend */
{ ExpectedStep::ExpectedRequest::writeToBackend, IOState::Done, queries.at(2).size() },
/* no response ready yet but the backend descriptor becomes ready */
- { ExpectedStep::ExpectedRequest::readFromBackend, IOState::NeedRead, 0, [&threadData](int desc, const ExpectedStep& step) {
+ { ExpectedStep::ExpectedRequest::readFromBackend, IOState::NeedRead, 0, [&threadData](int desc) {
/* the backend descriptor becomes ready */
dynamic_cast<MockupFDMultiplexer*>(threadData.mplexer.get())->setReady(desc);
} },
/* nothing from the client either */
- { ExpectedStep::ExpectedRequest::readFromClient, IOState::NeedRead, 0, [&threadData](int desc, const ExpectedStep& step) {
+ { ExpectedStep::ExpectedRequest::readFromClient, IOState::NeedRead, 0, [&threadData](int desc) {
/* the client descriptor is NOT ready */
dynamic_cast<MockupFDMultiplexer*>(threadData.mplexer.get())->setNotReady(desc);
} },
/* so we close the connection */
{ ExpectedStep::ExpectedRequest::closeBackend, IOState::Done },
/* try opening a new connection to the backend, it fails (5) times */
- { ExpectedStep::ExpectedRequest::connectToBackend, IOState::Done, 0, [](int desc, const ExpectedStep& step) {
+ { ExpectedStep::ExpectedRequest::connectToBackend, IOState::Done, 0, [](int desc) {
throw NetworkError("Connection refused by the backend");
} },
{ ExpectedStep::ExpectedRequest::closeBackend, IOState::Done },
/* try opening a new connection to the backend, it fails (5) times */
- { ExpectedStep::ExpectedRequest::connectToBackend, IOState::Done,0, [](int desc, const ExpectedStep& step) {
+ { ExpectedStep::ExpectedRequest::connectToBackend, IOState::Done,0, [](int desc) {
throw NetworkError("Connection refused by the backend");
} },
{ ExpectedStep::ExpectedRequest::closeBackend, IOState::Done },
/* try opening a new connection to the backend, it fails (5) times */
- { ExpectedStep::ExpectedRequest::connectToBackend, IOState::Done,0, [](int desc, const ExpectedStep& step) {
+ { ExpectedStep::ExpectedRequest::connectToBackend, IOState::Done,0, [](int desc) {
throw NetworkError("Connection refused by the backend");
} },
{ ExpectedStep::ExpectedRequest::closeBackend, IOState::Done },
/* try opening a new connection to the backend, it fails (5) times */
- { ExpectedStep::ExpectedRequest::connectToBackend, IOState::Done,0, [](int desc, const ExpectedStep& step) {
+ { ExpectedStep::ExpectedRequest::connectToBackend, IOState::Done,0, [](int desc) {
throw NetworkError("Connection refused by the backend");
} },
{ ExpectedStep::ExpectedRequest::closeBackend, IOState::Done },
/* try opening a new connection to the backend, it fails (5) times */
- { ExpectedStep::ExpectedRequest::connectToBackend, IOState::Done,0, [](int desc, const ExpectedStep& step) {
+ { ExpectedStep::ExpectedRequest::connectToBackend, IOState::Done,0, [](int desc) {
throw NetworkError("Connection refused by the backend");
} },
/* closing a connection to the backend, client becomes ready */
- { ExpectedStep::ExpectedRequest::closeBackend, IOState::Done, 0, [&threadData](int desc, const ExpectedStep& step) {
+ { ExpectedStep::ExpectedRequest::closeBackend, IOState::Done, 0, [&threadData](int desc) {
/* the client descriptor is ready */
dynamic_cast<MockupFDMultiplexer*>(threadData.mplexer.get())->setReady(-1);
} },
/* sending query (1) to the backend */
{ ExpectedStep::ExpectedRequest::writeToBackend, IOState::Done, axfrQuery.size() },
/* no response ready yet, but setting the backend descriptor readable */
- { ExpectedStep::ExpectedRequest::readFromBackend, IOState::NeedRead, 0, [&threadData](int desc, const ExpectedStep& step) {
+ { ExpectedStep::ExpectedRequest::readFromBackend, IOState::NeedRead, 0, [&threadData](int desc) {
/* the backend descriptor becomes ready */
dynamic_cast<MockupFDMultiplexer*>(threadData.mplexer.get())->setReady(desc);
} },
/* no more query from the client for now */
- { ExpectedStep::ExpectedRequest::readFromClient, IOState::NeedRead, 0 , [&threadData](int desc, const ExpectedStep& step) {
+ { ExpectedStep::ExpectedRequest::readFromClient, IOState::NeedRead, 0 , [&threadData](int desc) {
/* the client descriptor becomes NOT ready */
dynamic_cast<MockupFDMultiplexer*>(threadData.mplexer.get())->setNotReady(-1);
} },
{ ExpectedStep::ExpectedRequest::readFromBackend, IOState::Done, 2 },
{ ExpectedStep::ExpectedRequest::readFromBackend, IOState::Done, axfrResponses.at(2).size() - 2 },
/* sending response (3) to the client */
- { ExpectedStep::ExpectedRequest::writeToClient, IOState::Done, axfrResponses.at(2).size(), [&threadData](int desc, const ExpectedStep& step) {
+ { ExpectedStep::ExpectedRequest::writeToClient, IOState::Done, axfrResponses.at(2).size(), [&threadData](int desc) {
/* the client descriptor becomes ready */
dynamic_cast<MockupFDMultiplexer*>(threadData.mplexer.get())->setReady(-1);
} },
/* sending query (1) to the backend */
{ ExpectedStep::ExpectedRequest::writeToBackend, IOState::Done, firstQuery.size() },
/* no response ready yet, but setting the backend descriptor readable */
- { ExpectedStep::ExpectedRequest::readFromBackend, IOState::NeedRead, 0, [&threadData](int desc, const ExpectedStep& step) {
+ { ExpectedStep::ExpectedRequest::readFromBackend, IOState::NeedRead, 0, [&threadData](int desc) {
/* the backend descriptor becomes ready */
dynamic_cast<MockupFDMultiplexer*>(threadData.mplexer.get())->setReady(desc);
} },
{ ExpectedStep::ExpectedRequest::readFromBackend, IOState::Done, 2 },
{ ExpectedStep::ExpectedRequest::readFromBackend, IOState::Done, firstResponse.size() - 2 },
/* sending response (1) to the client */
- { ExpectedStep::ExpectedRequest::writeToClient, IOState::Done, firstResponse.size(), [&threadData](int desc, const ExpectedStep& step) {
+ { ExpectedStep::ExpectedRequest::writeToClient, IOState::Done, firstResponse.size(), [&threadData](int desc) {
/* client descriptor becomes ready */
dynamic_cast<MockupFDMultiplexer*>(threadData.mplexer.get())->setReady(-1);
} },
{ ExpectedStep::ExpectedRequest::readFromBackend, IOState::Done, 2 },
{ ExpectedStep::ExpectedRequest::readFromBackend, IOState::Done, ixfrResponses.at(0).size() - 2 },
/* sending response (ixfr 1) to the client */
- { ExpectedStep::ExpectedRequest::writeToClient, IOState::Done, ixfrResponses.at(0).size(), [&threadData](int desc, const ExpectedStep& step) {
+ { ExpectedStep::ExpectedRequest::writeToClient, IOState::Done, ixfrResponses.at(0).size(), [&threadData](int desc) {
/* the client descriptor becomes ready */
dynamic_cast<MockupFDMultiplexer*>(threadData.mplexer.get())->setReady(-1);
} },
/* sending query (3) to the backend */
{ ExpectedStep::ExpectedRequest::writeToBackend, IOState::Done, queries.at(2).size() },
/* backend is not ready yet, but the descriptor becomes ready */
- { ExpectedStep::ExpectedRequest::readFromBackend, IOState::NeedRead, 0, [&threadData](int desc, const ExpectedStep& step) {
+ { ExpectedStep::ExpectedRequest::readFromBackend, IOState::NeedRead, 0, [&threadData](int desc) {
/* the backend descriptor becomes ready */
dynamic_cast<MockupFDMultiplexer*>(threadData.mplexer.get())->setReady(desc);
}},
/* nothing from the client */
- { ExpectedStep::ExpectedRequest::readFromClient, IOState::NeedRead, 0, [&threadData](int desc, const ExpectedStep& step) {
+ { ExpectedStep::ExpectedRequest::readFromClient, IOState::NeedRead, 0, [&threadData](int desc) {
dynamic_cast<MockupFDMultiplexer*>(threadData.mplexer.get())->setNotReady(desc);
} },
/* backend closes the connection on us */
{ ExpectedStep::ExpectedRequest::readFromBackend, IOState::Done, 2 },
{ ExpectedStep::ExpectedRequest::readFromBackend, IOState::Done, responses.at(2).size() },
/* sending the response (3) to the client */
- { ExpectedStep::ExpectedRequest::writeToClient, IOState::Done, responses.at(2).size(), [&threadData](int desc, const ExpectedStep& step) {
+ { ExpectedStep::ExpectedRequest::writeToClient, IOState::Done, responses.at(2).size(), [&threadData](int desc) {
/* the client descriptor becomes ready */
dynamic_cast<MockupFDMultiplexer*>(threadData.mplexer.get())->setReady(desc);
} },
/* sending query (3) to the backend */
{ ExpectedStep::ExpectedRequest::writeToBackend, IOState::Done, queries.at(2).size() },
/* backend is not ready yet, but the descriptor becomes ready */
- { ExpectedStep::ExpectedRequest::readFromBackend, IOState::NeedRead, 0, [&threadData](int desc, const ExpectedStep& step) {
+ { ExpectedStep::ExpectedRequest::readFromBackend, IOState::NeedRead, 0, [&threadData](int desc) {
/* the backend descriptor becomes ready */
dynamic_cast<MockupFDMultiplexer*>(threadData.mplexer.get())->setReady(desc);
}},
{ ExpectedStep::ExpectedRequest::readFromClient, IOState::Done, queries.at(1).size() - 2 },
/* reading a third query from the client */
{ ExpectedStep::ExpectedRequest::readFromClient, IOState::Done, 2 },
- { ExpectedStep::ExpectedRequest::readFromClient, IOState::Done, queries.at(2).size() - 2, [&timeout](int desc, const ExpectedStep& step) {
+ { ExpectedStep::ExpectedRequest::readFromClient, IOState::Done, queries.at(2).size() - 2, [&timeout](int desc) {
timeout = true;
} },
/* trying to read more from the client but nothing to read */
{ ExpectedStep::ExpectedRequest::readFromClient, IOState::Done, 2 },
{ ExpectedStep::ExpectedRequest::readFromClient, IOState::Done, queries.at(0).size() - 2 },
/* opening a connection to the backend (1) */
- { ExpectedStep::ExpectedRequest::connectToBackend, IOState::Done, 0, [&backend1Desc](int desc, const ExpectedStep& step) {
+ { ExpectedStep::ExpectedRequest::connectToBackend, IOState::Done, 0, [&backend1Desc](int desc) {
backend1Desc = desc;
} },
/* sending query (1) to the backend */
{ ExpectedStep::ExpectedRequest::readFromClient, IOState::Done, 2 },
{ ExpectedStep::ExpectedRequest::readFromClient, IOState::Done, queries.at(2).size() - 2 },
/* opening a connection to the SECOND backend (2) */
- { ExpectedStep::ExpectedRequest::connectToBackend, IOState::Done, 0, [&backend2Desc](int desc, const ExpectedStep& step) {
+ { ExpectedStep::ExpectedRequest::connectToBackend, IOState::Done, 0, [&backend2Desc](int desc) {
backend2Desc = desc;
} },
/* sending query (3) to backend 2 */
/* no response ready yet */
{ ExpectedStep::ExpectedRequest::readFromBackend, IOState::NeedRead, 0 },
/* nothing more to read from the client at that moment */
- { ExpectedStep::ExpectedRequest::readFromClient, IOState::NeedRead, 0, [&threadData, &backend1Desc](int desc, const ExpectedStep& step) {
+ { ExpectedStep::ExpectedRequest::readFromClient, IOState::NeedRead, 0, [&threadData, &backend1Desc](int desc) {
/* but the first backend becomes readable */
dynamic_cast<MockupFDMultiplexer*>(threadData.mplexer.get())->setReady(backend1Desc);
} },
{ ExpectedStep::ExpectedRequest::readFromBackend, IOState::Done, 2 },
{ ExpectedStep::ExpectedRequest::readFromBackend, IOState::Done, responses.at(0).size() - 2 },
/* sending it to the client */
- { ExpectedStep::ExpectedRequest::writeToClient, IOState::Done, responses.at(0).size(), [&threadData](int desc, const ExpectedStep& step) {
+ { ExpectedStep::ExpectedRequest::writeToClient, IOState::Done, responses.at(0).size(), [&threadData](int desc) {
/* client becomes readable */
dynamic_cast<MockupFDMultiplexer*>(threadData.mplexer.get())->setReady(desc);
} },
/* reading a query from the client (5) */
{ ExpectedStep::ExpectedRequest::readFromClient, IOState::Done, 2 },
- { ExpectedStep::ExpectedRequest::readFromClient, IOState::Done, queries.at(4).size() - 2, [&threadData](int desc, const ExpectedStep& step) {
+ { ExpectedStep::ExpectedRequest::readFromClient, IOState::Done, queries.at(4).size() - 2, [&threadData](int desc) {
/* client is not ready anymore */
dynamic_cast<MockupFDMultiplexer*>(threadData.mplexer.get())->setNotReady(desc);
} },
/* sending query (5) to the first backend (1) */
{ ExpectedStep::ExpectedRequest::writeToBackend, IOState::Done, queries.at(4).size() },
/* no response ready yet, but the first backend becomes ready */
- { ExpectedStep::ExpectedRequest::readFromBackend, IOState::NeedRead, 0, [&threadData](int desc, const ExpectedStep& step) {
+ { ExpectedStep::ExpectedRequest::readFromBackend, IOState::NeedRead, 0, [&threadData](int desc) {
/* set the outgoing descriptor (backend connection) as ready */
dynamic_cast<MockupFDMultiplexer*>(threadData.mplexer.get())->setReady(desc);
} },
{ ExpectedStep::ExpectedRequest::readFromBackend, IOState::Done, 2 },
{ ExpectedStep::ExpectedRequest::readFromBackend, IOState::Done, responses.at(1).size() - 2 },
/* sending it to the client */
- { ExpectedStep::ExpectedRequest::writeToClient, IOState::Done, responses.at(1).size(), [&threadData,&backend1Desc,&backend2Desc](int desc, const ExpectedStep& step) {
+ { ExpectedStep::ExpectedRequest::writeToClient, IOState::Done, responses.at(1).size(), [&threadData,&backend1Desc,&backend2Desc](int desc) {
/* client is NOT readable, backend1 is not readable, backend 2 becomes readable */
dynamic_cast<MockupFDMultiplexer*>(threadData.mplexer.get())->setNotReady(desc);
dynamic_cast<MockupFDMultiplexer*>(threadData.mplexer.get())->setNotReady(backend1Desc);
{ ExpectedStep::ExpectedRequest::readFromBackend, IOState::Done, 2 },
{ ExpectedStep::ExpectedRequest::readFromBackend, IOState::Done, responses.at(2).size() - 2 },
/* sending it to the client */
- { ExpectedStep::ExpectedRequest::writeToClient, IOState::Done, responses.at(2).size(), [&threadData,&backend1Desc,&backend2Desc](int desc, const ExpectedStep& step) {
+ { ExpectedStep::ExpectedRequest::writeToClient, IOState::Done, responses.at(2).size(), [&threadData,&backend1Desc,&backend2Desc](int desc) {
/* backend 2 is no longer readable, backend 1 becomes readable */
dynamic_cast<MockupFDMultiplexer*>(threadData.mplexer.get())->setNotReady(backend2Desc);
dynamic_cast<MockupFDMultiplexer*>(threadData.mplexer.get())->setReady(backend1Desc);
{ ExpectedStep::ExpectedRequest::readFromBackend, IOState::Done, 2 },
{ ExpectedStep::ExpectedRequest::readFromBackend, IOState::Done, responses.at(4).size() - 2 },
/* sending it to the client */
- { ExpectedStep::ExpectedRequest::writeToClient, IOState::Done, responses.at(4).size(), [&threadData,&backend1Desc,&backend2Desc](int desc, const ExpectedStep& step) {
+ { ExpectedStep::ExpectedRequest::writeToClient, IOState::Done, responses.at(4).size(), [&threadData,&backend1Desc,&backend2Desc](int desc) {
/* backend 1 is no longer readable, backend 2 becomes readable */
dynamic_cast<MockupFDMultiplexer*>(threadData.mplexer.get())->setNotReady(backend1Desc);
dynamic_cast<MockupFDMultiplexer*>(threadData.mplexer.get())->setReady(backend2Desc);
{ ExpectedStep::ExpectedRequest::readFromBackend, IOState::Done, 2 },
{ ExpectedStep::ExpectedRequest::readFromBackend, IOState::Done, responses.at(3).size() - 2 },
/* sending it to the client */
- { ExpectedStep::ExpectedRequest::writeToClient, IOState::Done, responses.at(3).size(), [&threadData,&backend2Desc](int desc, const ExpectedStep& step) {
+ { ExpectedStep::ExpectedRequest::writeToClient, IOState::Done, responses.at(3).size(), [&threadData,&backend2Desc](int desc) {
/* backend 2 is no longer readable */
dynamic_cast<MockupFDMultiplexer*>(threadData.mplexer.get())->setNotReady(backend2Desc);
/* client becomes readable */
/* sending query to the backend */
{ ExpectedStep::ExpectedRequest::writeToBackend, IOState::Done, queries.at(1).size() },
/* no response ready yet, but mark the descriptor as ready */
- { ExpectedStep::ExpectedRequest::readFromBackend, IOState::NeedRead, 0, [&threadData](int desc, const ExpectedStep& step) {
+ { ExpectedStep::ExpectedRequest::readFromBackend, IOState::NeedRead, 0, [&threadData](int desc) {
dynamic_cast<MockupFDMultiplexer*>(threadData.mplexer.get())->setReady(desc);
} },
/* nothing more from the client either */
{ ExpectedStep::ExpectedRequest::writeToClient, IOState::Done, responses.at(0).size()},
/* reading response (2) from the backend */
{ ExpectedStep::ExpectedRequest::readFromBackend, IOState::Done, responses.at(0).size() - 2 },
- { ExpectedStep::ExpectedRequest::readFromBackend, IOState::Done, responses.at(0).size(), [&threadData](int desc, const ExpectedStep& step) {
+ { ExpectedStep::ExpectedRequest::readFromBackend, IOState::Done, responses.at(0).size(), [&threadData](int desc) {
dynamic_cast<MockupFDMultiplexer*>(threadData.mplexer.get())->setNotReady(desc);
} },
/* sending it to the client. we don't have anything else to send to the client, no new query from it either, until we time out */
- { ExpectedStep::ExpectedRequest::writeToClient, IOState::Done, responses.at(0).size(), [&timeout](int desc, const ExpectedStep& step) {
+ { ExpectedStep::ExpectedRequest::writeToClient, IOState::Done, responses.at(0).size(), [&timeout](int desc) {
timeout = true;
} },
/* closing client connection */
{ ExpectedStep::ExpectedRequest::readFromClient, IOState::Done, 2 },
{ ExpectedStep::ExpectedRequest::readFromClient, IOState::Done, queries.at(0).size() - 2 },
/* opening a connection to the backend (1) */
- { ExpectedStep::ExpectedRequest::connectToBackend, IOState::Done, 0, [&backendDescriptors](int desc, const ExpectedStep& step) {
+ { ExpectedStep::ExpectedRequest::connectToBackend, IOState::Done, 0, [&backendDescriptors](int desc) {
backendDescriptors.at(0) = desc;
} },
/* sending query (1) to the backend */
{ ExpectedStep::ExpectedRequest::readFromClient, IOState::Done, 2 },
{ ExpectedStep::ExpectedRequest::readFromClient, IOState::Done, queries.at(1).size() - 2 },
/* opening a connection to the backend (2) */
- { ExpectedStep::ExpectedRequest::connectToBackend, IOState::Done, 0, [&backendDescriptors](int desc, const ExpectedStep& step) {
+ { ExpectedStep::ExpectedRequest::connectToBackend, IOState::Done, 0, [&backendDescriptors](int desc) {
backendDescriptors.at(1) = desc;
} },
/* sending query (2) to the backend */
{ ExpectedStep::ExpectedRequest::readFromClient, IOState::Done, 2 },
{ ExpectedStep::ExpectedRequest::readFromClient, IOState::Done, queries.at(2).size() - 2 },
/* opening a connection to the backend (3) */
- { ExpectedStep::ExpectedRequest::connectToBackend, IOState::Done, 0, [&backendDescriptors](int desc, const ExpectedStep& step) {
+ { ExpectedStep::ExpectedRequest::connectToBackend, IOState::Done, 0, [&backendDescriptors](int desc) {
backendDescriptors.at(2) = desc;
} },
/* sending query (3) to the backend */
{ ExpectedStep::ExpectedRequest::readFromClient, IOState::Done, 2 },
{ ExpectedStep::ExpectedRequest::readFromClient, IOState::Done, queries.at(3).size() - 2 },
/* opening a connection to the backend (4) */
- { ExpectedStep::ExpectedRequest::connectToBackend, IOState::Done, 0, [&backendDescriptors](int desc, const ExpectedStep& step) {
+ { ExpectedStep::ExpectedRequest::connectToBackend, IOState::Done, 0, [&backendDescriptors](int desc) {
backendDescriptors.at(3) = desc;
} },
/* sending query (3) to the backend */
{ ExpectedStep::ExpectedRequest::readFromClient, IOState::Done, 2 },
{ ExpectedStep::ExpectedRequest::readFromClient, IOState::Done, queries.at(4).size() - 2 },
/* opening a connection to the backend (5) */
- { ExpectedStep::ExpectedRequest::connectToBackend, IOState::Done, 0, [&backendDescriptors](int desc, const ExpectedStep& step) {
+ { ExpectedStep::ExpectedRequest::connectToBackend, IOState::Done, 0, [&backendDescriptors](int desc) {
backendDescriptors.at(4) = desc;
} },
/* sending query (5) to the backend */
{ ExpectedStep::ExpectedRequest::writeToBackend, IOState::Done, queries.at(4).size() },
/* no response ready yet, client stops being readable, first backend has a response */
- { ExpectedStep::ExpectedRequest::readFromBackend, IOState::NeedRead, 0, [&threadData,&backendDescriptors](int desc, const ExpectedStep& step) {
+ { ExpectedStep::ExpectedRequest::readFromBackend, IOState::NeedRead, 0, [&threadData,&backendDescriptors](int desc) {
dynamic_cast<MockupFDMultiplexer*>(threadData.mplexer.get())->setReady(backendDescriptors.at(0));
} },
/* trying to read from the client but nothing yet */
- { ExpectedStep::ExpectedRequest::readFromClient, IOState::NeedRead, 0 , [&threadData](int desc, const ExpectedStep& step) {
+ { ExpectedStep::ExpectedRequest::readFromClient, IOState::NeedRead, 0 , [&threadData](int desc) {
dynamic_cast<MockupFDMultiplexer*>(threadData.mplexer.get())->setNotReady(desc);
} },
/* reading response (1) from the first backend (1) */
{ ExpectedStep::ExpectedRequest::readFromBackend, IOState::Done, 2 },
{ ExpectedStep::ExpectedRequest::readFromBackend, IOState::Done, responses.at(0).size() - 2 },
/* sending it to the client */
- { ExpectedStep::ExpectedRequest::writeToClient, IOState::Done, responses.at(0).size(), [&threadData,&backendDescriptors](int desc, const ExpectedStep& step) {
+ { ExpectedStep::ExpectedRequest::writeToClient, IOState::Done, responses.at(0).size(), [&threadData,&backendDescriptors](int desc) {
dynamic_cast<MockupFDMultiplexer*>(threadData.mplexer.get())->setReady(backendDescriptors.at(2));
} },
/* reading response (3) from the third backend (3) */
{ ExpectedStep::ExpectedRequest::readFromBackend, IOState::Done, 2 },
{ ExpectedStep::ExpectedRequest::readFromBackend, IOState::Done, responses.at(2).size() - 2 },
/* sending it to the client */
- { ExpectedStep::ExpectedRequest::writeToClient, IOState::Done, responses.at(2).size(), [&threadData,&backendDescriptors](int desc, const ExpectedStep& step) {
+ { ExpectedStep::ExpectedRequest::writeToClient, IOState::Done, responses.at(2).size(), [&threadData,&backendDescriptors](int desc) {
dynamic_cast<MockupFDMultiplexer*>(threadData.mplexer.get())->setReady(backendDescriptors.at(1));
} },
/* reading response (2) from the second backend (2) */
{ ExpectedStep::ExpectedRequest::readFromBackend, IOState::Done, 2 },
{ ExpectedStep::ExpectedRequest::readFromBackend, IOState::Done, responses.at(1).size() - 2 },
/* sending it to the client */
- { ExpectedStep::ExpectedRequest::writeToClient, IOState::Done, responses.at(1).size(), [&threadData,&backendDescriptors](int desc, const ExpectedStep& step) {
+ { ExpectedStep::ExpectedRequest::writeToClient, IOState::Done, responses.at(1).size(), [&threadData,&backendDescriptors](int desc) {
dynamic_cast<MockupFDMultiplexer*>(threadData.mplexer.get())->setReady(backendDescriptors.at(4));
} },
/* reading response (5) from the fifth backend (5) */
{ ExpectedStep::ExpectedRequest::readFromBackend, IOState::Done, 2 },
{ ExpectedStep::ExpectedRequest::readFromBackend, IOState::Done, responses.at(4).size() - 2 },
/* sending it to the client */
- { ExpectedStep::ExpectedRequest::writeToClient, IOState::Done, responses.at(4).size(), [&threadData,&backendDescriptors](int desc, const ExpectedStep& step) {
+ { ExpectedStep::ExpectedRequest::writeToClient, IOState::Done, responses.at(4).size(), [&threadData,&backendDescriptors](int desc) {
dynamic_cast<MockupFDMultiplexer*>(threadData.mplexer.get())->setReady(backendDescriptors.at(3));
} },
/* reading response (4) from the fourth backend (4) */
{ ExpectedStep::ExpectedRequest::readFromBackend, IOState::Done, 2 },
{ ExpectedStep::ExpectedRequest::readFromBackend, IOState::Done, responses.at(3).size() - 2 },
/* sending it to the client */
- { ExpectedStep::ExpectedRequest::writeToClient, IOState::Done, responses.at(3).size(), [&threadData](int desc, const ExpectedStep& step) {
+ { ExpectedStep::ExpectedRequest::writeToClient, IOState::Done, responses.at(3).size(), [&threadData](int desc) {
dynamic_cast<MockupFDMultiplexer*>(threadData.mplexer.get())->setReady(-1);
} },
/* client closes the connection */