Skip to content

Conversation

@rdumusc
Copy link

@rdumusc rdumusc commented Sep 26, 2016

Notes:

  • FramePtr must remain a boost::shared_ptr as long as Tide is
    serializing it and does not mandate boost >= 1.56.
  • boost::signals2 for Stream::disconnected is hard to replace,
    however it is only used internally by QmlStreamerImpl.cpp.
  • program_options and unit_test could be optional.

Copy link
Contributor

@dnachbaur dnachbaur left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hmm, not removing boost entirely makes a bit wonder how useful that change is. But +1.

deflect/Stream.h Outdated

/** @name Asynchronous send API */
//@{
/** Future signaling success of asyncSend(). @version 1.1 */
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That breaks API imo. No longer version 1.1

@rdumusc
Copy link
Author

rdumusc commented Sep 27, 2016

Yes, I thought I could easily remove all when I started. But I couldn't find an elegant solution for the shared_ptr serialization. I could copy the Frame in Tide from std::shared_ptr to boost::shared_ptr before serializing, which wouldn't be too expensive because the segments are QByteArray (implicitly shared) but still look a bit awkward. The boost::signal could be replaced by a callback function which would be fine for our use case. I was not sure and decided to stop here, which is still a step in the right direction (the only problem is the one API breakage you pointed out).

@rdumusc
Copy link
Author

rdumusc commented Sep 27, 2016

And I notice now that the API change requires a change in Equalizer because eq/deflect/Proxy.cpp because it explicitly uses boost in a make_ready_future() function...

@rdumusc
Copy link
Author

rdumusc commented Sep 27, 2016

Updated: I decided that since this was already breaking the API I might as well do all the changes and make boost optional.

@rdumusc rdumusc changed the title Replace boost with C++11 where applicable [DISCL-391] Replace boost with C++11 [DISCL-391] Sep 27, 2016
CMakeLists.txt Outdated
set(DEFLECT_DESCRIPTION "A fast C++ library for streaming pixels and events")
set(DEFLECT_MAINTAINER "Blue Brain Project <[email protected]>")
set(DEFLECT_LICENSE BSD)
set(DEFLECT_DEPENDENT_LIBRARIES Boost)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

can be removed now?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done

doc/Changelog.md Outdated

* [130](https://github.com/BlueBrain/Deflect/pull/130)
Replaced boost by C++11. Boost is now an optional dependency and it is used
only by the tests. Minor API changes were introdued by this change.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not so minor imo.
typo 'introdued'

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done, replaced minor by some

boost program_options and unit_test are now optional (tests only)
@dnachbaur
Copy link
Contributor

+1

@rdumusc rdumusc merged commit 07711c1 into BlueBrain:master Sep 28, 2016
@rdumusc rdumusc deleted the cpp11 branch September 28, 2016 14:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants