Gcs Asio integration#1633
Conversation
|
Test FAILed. |
|
Test PASSed. |
|
Test FAILed. |
|
Test PASSed. |
| include(${CMAKE_CURRENT_LIST_DIR}/../common/cmake/Common.cmake) | ||
|
|
||
| set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} --std=c99 -D_XOPEN_SOURCE=500 -D_POSIX_C_SOURCE=200809L -O3") | ||
| set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} --std=c++11 -D_XOPEN_SOURCE=500 -D_POSIX_C_SOURCE=200809L -O3 -Werror -Wall") |
There was a problem hiding this comment.
What was the reason for removing these? Just wondering!
There was a problem hiding this comment.
It was not compatible with asio (errors in the include file popped up). I'm not sure why we needed it in the first place, but things seem to be working without it. We should keep an eye on it though in case any problems come up.
|
|
||
| Status Connect(const std::string &address, int port); | ||
| Status Attach(plasma::EventLoop &event_loop); | ||
| Status AttachToAsio(boost::asio::io_service &io_service); |
There was a problem hiding this comment.
Does it make sense to also call this Attach but keep the different signature?
| } | ||
|
|
||
| Status AsyncGcsClient::AttachToAsio(boost::asio::io_service &io_service) { | ||
| asio_client_.reset( |
There was a problem hiding this comment.
Maybe leave a note that we should only be attached to one event loop at a time (asio vs the plasma::EventLoop)?
| RAY_CHECK_OK( | ||
| client_.object_table().Add(job_id_, object_id, data, &ObjectAddedAsio)); | ||
| RAY_CHECK_OK(client_.object_table().Lookup(job_id_, object_id, &LookupAsio)); | ||
| io_service.run(); |
There was a problem hiding this comment.
Could we wrap this in a generic EventLoop class for testing purposes so we don't have to duplicate the test cases for asio vs other event loops? If it's too complicated, maybe this is fine for now.
|
Test PASSed. |
|
Test PASSed. |
|
Test PASSed. |
|
Test PASSed. |
|
Test PASSed. |
This PR introduces glue code and tests to connect the (new) GCS client API in the asio event loop.