Challenge Overview

pxCore is a client library that houses a large number of drawing objects and C++ functionality.  You can find it in Github here:   https://github.com/topcoderinc/pxCore/tree/_rtRemote_Java

rtRemote is a separate peer-to-peer RPC wrapper library around rtObject. It has no broker, but includes a location service for object discovery. Applications can communicate using TCP and UNIX Domain sockets, but other transports can be installed or “plugged in”. The API allows read/write on properties and method invocation. The type system supports most of what rtValue supports. rtValue is a VARIANT type. rtRemote currently is being developed, and we have been asked by the client to implement an rtRemote counterpart in pure Java and Node. This challenge will investigate the code and provide an implementation for Node that can be used to communicate with the C++ and Java functionality that exists and vice versa. Think Java CORBA bindings, but proprietary.


Requirements

For this challenge, we are going to implement a small demo.  This demo will then be adapted for the client's embedded devices once we have details on those exact APIs.

The full requirements can be found here:

https://github.com/topcoderinc/pxCore/issues/170

Target Environment:

We've had good luck with Ubuntu 16.04, and there are instructions for building pxScene in the repository.  Once you've built pxScene, you can easily build the rtRemote examples for testing. 

Submission requirements

Your submission should include:

* C++ and Node code that meets the requirements above.  A patch file against commit hash https://github.com/pxscene/pxCore/commit/8570e296245b6f675acfc79dd45329cc1ccab9d2 or later in the master branch is required.
* README describing the code, setup, and deployment / compilation details
* Validation document describing the examples and how they can run and details on testing with the Node utility library


Final Submission Guidelines

Please see above

ELIGIBLE EVENTS:

2018 Topcoder(R) Open

Review style

Final Review

Community Review Board

Approval

User Sign-Off

ID: 30065154