Skip to content

Commit c011f28

Browse files
committed
Fix for executing raw requests
1 parent 2ee3bc7 commit c011f28

File tree

2 files changed

+13
-1
lines changed

2 files changed

+13
-1
lines changed

src/session.cpp

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,7 @@ CassFuture* cass_session_execute_batch(CassSession* session, const CassBatch* ba
100100
}
101101

102102
CassFuture* cass_session_execute_raw(CassSession* session, cass_uint8_t opcode, cass_uint8_t flags, const char* frame, size_t frame_size) {
103-
Future::Ptr future(session->execute(Request::ConstPtr(new RawRequest(opcode, frame, frame_size))));
103+
Future::Ptr future(session->execute_raw(Request::ConstPtr(new RawRequest(opcode, frame, frame_size))));
104104
future->inc_ref();
105105
return CassFuture::to(future.get());
106106
}
@@ -340,6 +340,16 @@ Future::Ptr Session::execute(const Request::ConstPtr& request) {
340340
return future;
341341
}
342342

343+
Future::Ptr Session::execute_raw(const Request::ConstPtr& request) {
344+
ResponseFuture::Ptr future(new ResponseFuture());
345+
346+
RequestHandler::Ptr request_handler(new RequestHandler(request, future, metrics()));
347+
348+
execute(request_handler);
349+
350+
return future;
351+
}
352+
343353
void Session::execute(const RequestHandler::Ptr& request_handler) {
344354
if (state() != SESSION_STATE_CONNECTED) {
345355
request_handler->set_error(CASS_ERROR_LIB_NO_HOSTS_AVAILABLE, "Session is not connected");

src/session.hpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,8 @@ class Session
4444

4545
Future::Ptr execute(const Request::ConstPtr& request);
4646

47+
Future::Ptr execute_raw(const Request::ConstPtr& request);
48+
4749
private:
4850
void execute(const RequestHandler::Ptr& request_handler);
4951

0 commit comments

Comments
 (0)