Tasks #1167

Tasks #43: Encapsulate Transport Implementations in Extension Libraries

Provide Spread transport as plugin (C++)

Added by J. Moringen about 9 years ago. Updated over 8 years ago.

Status:ResolvedStart date:09/16/2012
Priority:NormalDue date:
Assignee:J. Moringen% Done:

100%

Category:C++
Target version:rsb-0.9

Related issues

Related to Robotics Service Bus - Bug #1537: debian packaged rsb0.9 links against libspread, but doesn... Closed 06/07/2013

Associated revisions

Revision f23f8047
Added by J. Moringen over 8 years ago

Removed Spread transport in {src,test}/rsb/transport/**/*.*

refs #1167

The implementation, tests and CMake configuration of the Spread
transport are now contained into rsb-spread-cpp project.

  • src/rsb/transport/spread/*.{h,cpp}: removed; these files have been
    moved into the new Spread transport plugin
  • src/rsb/transport/transports.cpp: removed registration of Spread
    transport
  • test/rsb/transport/spread/*.{h,cpp}: likewise
  • test/rsb/ParticipantConfigTest.cpp: removed tests for Spread
    transport
  • test/rsb/integrationtest.cpp: likewise
  • test/testconfig.h.in: removed Spread-specific configuration
  • test/testhelpers.h: removed Spread-specific helpers
  • examples/inter_transport/inprocess-and-socket.cpp: renamed {inprocessAndSpread -> inprocess-and-socket}.cpp
  • examples/inter_transport/socket-only.cpp: renamed {spreadOnly ->
    socket-only}.cpp
  • test/spread.conf.in: removed; no longer used
  • test/rsb.conf-{for-smoke-test,semantic-errors-6}: use socket
    transport instead of Spread transport
  • examples/rsb.conf: likewise
  • CMakeLists.txt: removed Spread dependency and configuration of
    Spread transport
  • test/CMakeLists.txt: removed Spread-specific tests
  • examples/CMakeLists.txt: adapted to changed file names
  • project/build_vs.bat: removed Spread-specific commands

Revision 716ac0f5
Added by J. Moringen over 8 years ago

Initial import

refs #1167

Revision ffdabe6b
Added by J. Moringen over 8 years ago

Changes for transformation of Spread transport into a plugin

refs #1167

  • glossary.rst: mention Spread plugin
  • install-cpp.rst: Spread is now an optional dependency
  • specification-spread.rst: added a note that the Spread transport is
    now plugin and no longer contained in the RSB core, for C++
  • troubleshooting.rst: for C++, added loading of the Spread plugin as
    a first step

Revision 7c0510aa
Added by J. Moringen over 8 years ago

Removed Spread transport in {src,test}/rsb/transport/**/*.*

refs #1167

The implementation, tests and CMake configuration of the Spread
transport are now contained into rsb-spread-cpp project.

  • src/rsb/transport/spread/*.{h,cpp}: removed; these files have been
    moved into the new Spread transport plugin
  • src/rsb/transport/transports.cpp: removed registration of Spread
    transport
  • test/rsb/transport/spread/*.{h,cpp}: likewise
  • test/rsb/ParticipantConfigTest.cpp: removed tests for Spread
    transport
  • test/rsb/integrationtest.cpp: likewise
  • test/testconfig.h.in: removed Spread-specific configuration
  • test/testhelpers.h: removed Spread-specific helpers
  • examples/inter_transport/inprocess-and-socket.cpp: renamed {inprocessAndSpread -> inprocess-and-socket}.cpp
  • examples/inter_transport/socket-only.cpp: renamed {spreadOnly ->
    socket-only}.cpp
  • test/spread.conf.in: removed; no longer used
  • test/rsb.conf-{for-smoke-test,semantic-errors-6}: use socket
    transport instead of Spread transport
  • examples/rsb.conf: likewise
  • CMakeLists.txt: removed Spread dependency and configuration of
    Spread transport
  • test/CMakeLists.txt: removed Spread-specific tests
  • examples/CMakeLists.txt: adapted to changed file names
  • project/build_vs.bat: removed Spread-specific commands

Revision 5988cae6
Added by J. Moringen over 8 years ago

Added unit tests in test/**/*.{h,cpp}

refs #1167

  • test/main.cpp: new file; driver for unit tests
  • test/rsb/InformerTask.{h,cpp}: new files; copied from rsb-cpp
    project; helper classes for sending and receiving events
  • test/rsb/transport/ConnectorTest.{h,cpp}: new files; copied from
    rsb-cpp project; generic connector test infrastructure
  • test/rsb/transport/spread/AssemblyTest.cpp: new file; copied from
    rsb-cpp project
  • test/rsb/transport/spread/MembershipManagerTest: likewise
  • test/rsb/transport/spread/SpreadConnectorTest.cpp: likewise
  • test/rsb/transport/spread/SpreadMessageTest.cpp: likewise
  • test/spread.conf.in: new file; helper file for tests
  • test/testconfig.h.in: likewise
  • test/testhelpers.h: likewise
  • CMakeLists.txt: configure tests and test subdirectory
  • test/CMakeLists.txt: build one test binary for all tests

History

#1 Updated by J. Moringen over 8 years ago

  • Target version changed from rsb-0.9 to rsb-0.10

#2 Updated by J. Wienke over 8 years ago

  • Target version changed from rsb-0.10 to rsb-0.9

#3 Updated by J. Wienke over 8 years ago

As a separate repository for the single language implementation.

#4 Updated by J. Moringen over 8 years ago

  • Tracker changed from Bug to Tasks
  • Category changed from Spread Connector to C++
  • Status changed from New to In Progress
  • Assignee set to J. Moringen

#5 Updated by J. Moringen over 8 years ago

  • % Done changed from 0 to 30

#6 Updated by J. Moringen over 8 years ago

  • Status changed from In Progress to Feedback
  • % Done changed from 30 to 80
Done: Remaining tasks:
  • Add existing tests in rsb-spread-cpp
  • Merge feature branch in rsb-cpp project
  • Update manual

@All: please extend this list, if you can think of anything else that needs to be done

#7 Updated by J. Moringen over 8 years ago

  • Status changed from Feedback to In Progress
  • % Done changed from 80 to 90

Manual has been updated.

#8 Updated by J. Moringen over 8 years ago

  • Status changed from In Progress to Feedback
  • % Done changed from 90 to 100

I think this is done. Please test and report problems.

#9 Updated by S. Wrede over 8 years ago

Works fine on Mac 10.7 built using the following new homebrew formula: https://github.com/swrede/homebrew-formulas/blob/master/rsb-spread-cpp.rb

#10 Updated by J. Moringen over 8 years ago

  • Status changed from Feedback to Resolved

There has been at least some experimentation with this feature. Please report problems as separate issues.

Also available in: Atom PDF