cameo issueshttps://code.ill.fr/cameo/cameo/-/issues2020-01-22T10:24:56+01:00https://code.ill.fr/cameo/cameo/-/issues/50Review the unique_ptr usage in C++ API2020-01-22T10:24:56+01:00yannick legocReview the unique_ptr usage in C++ APIHow objects are moved.How objects are moved.https://code.ill.fr/cameo/cameo/-/issues/49Add the function This::init(string, string) in C++2020-10-01T14:52:57+02:00yannick legocAdd the function This::init(string, string) in C++In case of unmanaged application, it is better to have the function This::init(const std::string& endpoint, const std::string& applicationName).In case of unmanaged application, it is better to have the function This::init(const std::string& endpoint, const std::string& applicationName).https://code.ill.fr/cameo/cameo/-/issues/47String output of requester2020-10-01T14:52:30+02:00yannick legocString output of requesterThe output should show the remote responder in @endpoint.The output should show the remote responder in @endpoint.https://code.ill.fr/cameo/cameo/-/issues/46Ban delete and use unique_ptr instead2019-11-27T09:23:02+01:00yannick legocBan delete and use unique_ptr insteadhttps://code.ill.fr/cameo/cameo/-/issues/44Gather name and id to unify syntax in console2020-10-01T14:52:06+02:00yannick legocGather name and id to unify syntax in consoleAllow
```
$ cmo stop ns.1
```Allow
```
$ cmo stop ns.1
```https://code.ill.fr/cameo/cameo/-/issues/39Output stream incomplete when process is crashing2020-10-01T14:44:00+02:00yannick legocOutput stream incomplete when process is crashingWhen a process is crashing e.g. nomad server at init, the output is not complete. Check if this is related to Java streams and cannot be improved in cameo server.When a process is crashing e.g. nomad server at init, the output is not complete. Check if this is related to Java streams and cannot be improved in cameo server.https://code.ill.fr/cameo/cameo/-/issues/37Maven modules and a single project for all the projects2018-11-29T11:22:49+01:00yannick legocMaven modules and a single project for all the projectsInclude c++ into project: create directory cpp-api (next to Java modules).Include c++ into project: create directory cpp-api (next to Java modules).https://code.ill.fr/cameo/cameo/-/issues/36Optimise the opening and closing of sockets : redesign communication between ...2020-10-01T14:53:05+02:00yannick legocOptimise the opening and closing of sockets : redesign communication between appsTo optimise the sockets, it is better to define 1 socket REP per app so that only simple messages are sent.
Do not block, the REP answers immediately as Acknowledge.
It is simpler to implement the timeouts.
The publisher and subscriber u...To optimise the sockets, it is better to define 1 socket REP per app so that only simple messages are sent.
Do not block, the REP answers immediately as Acknowledge.
It is simpler to implement the timeouts.
The publisher and subscriber use this common message queue.
A complete redesign is required.
All sockets must have a lifetime greater than a simple request: sockets connected to server also live the time of the process.https://code.ill.fr/cameo/cameo/-/issues/35Implement blocking and non blocking responder2020-10-01T14:42:32+02:00yannick legocImplement blocking and non blocking responderCurrent implementation of the responder is non blocking.Current implementation of the responder is non blocking.https://code.ill.fr/cameo/cameo/-/issues/32Create a single project for the C++ api and the tests.2018-11-28T08:50:16+01:00yannick legocCreate a single project for the C++ api and the tests.https://code.ill.fr/cameo/cameo/-/issues/31Create a single project for server, Java api, Java tests2018-11-28T08:49:15+01:00yannick legocCreate a single project for server, Java api, Java testsThe size of the project enables to have only one project that will be easier to maintain.
But how to do it with jeromq and jzmq?The size of the project enables to have only one project that will be easier to maintain.
But how to do it with jeromq and jzmq?https://code.ill.fr/cameo/cameo/-/issues/30Android and Java 92020-10-01T14:32:33+02:00yannick legocAndroid and Java 9See what we need to do: keep old version in Android tablet app? or special code.See what we need to do: keep old version in Android tablet app? or special code.https://code.ill.fr/cameo/cameo/-/issues/28Messages.proto to move into cameo-commons2018-07-13T08:38:50+02:00yannick legocMessages.proto to move into cameo-commonsTo avoid class duplication in Java. Then cameo-commons becomes a Java project that depends cameo-server and cameo-java-api.To avoid class duplication in Java. Then cameo-commons becomes a Java project that depends cameo-server and cameo-java-api.https://code.ill.fr/cameo/cameo/-/issues/27Keep app in the list with state UNKNOWN2020-10-01T14:26:03+02:00yannick legocKeep app in the list with state UNKNOWNWe keep the app with state UNKNOWN if it is still alive but has not a running state.
For instance, when an app is terminating but the process is still alive.We keep the app with state UNKNOWN if it is still alive but has not a running state.
For instance, when an app is terminating but the process is still alive.https://code.ill.fr/cameo/cameo/-/issues/26Define more than one Requester on the same Responder in one instance2017-09-01T10:41:38+02:00yannick legocDefine more than one Requester on the same Responder in one instanceThe Cameo API is limited to the definition of a single Requester for a given Responder.
We can modify the API to enable to have multiple requesters:
RequesterImpl.getRequesterPortName() must have another implementation:
return REQUESTER...The Cameo API is limited to the definition of a single Requester for a given Responder.
We can modify the API to enable to have multiple requesters:
RequesterImpl.getRequesterPortName() must have another implementation:
return REQUESTER_PREFIX + name + "." + responderId + "." + requesterCounter;
With requesterCounter a static integer incremented by concurrent access.
To be implemented in Java and C++.https://code.ill.fr/cameo/cameo/-/issues/25Benchmark Android2020-10-01T14:25:10+02:00yannick legocBenchmark AndroidThe first tests with Cameo (JeroMQ and JZMQ) show bad performance in requester/responder (time mainly lost in the recv method). The benchmark will:
* Compare basic java Socket with JeroMQ, JZMQ sockets
* Test on different message sizesThe first tests with Cameo (JeroMQ and JZMQ) show bad performance in requester/responder (time mainly lost in the recv method). The benchmark will:
* Compare basic java Socket with JeroMQ, JZMQ sockets
* Test on different message sizeshttps://code.ill.fr/cameo/cameo/-/issues/22When application stops immediately and starting_time = 02020-10-01T16:19:41+02:00yannick legocWhen application stops immediately and starting_time = 0There is no output and the console blocks in exec mode.There is no output and the console blocks in exec mode.https://code.ill.fr/cameo/cameo/-/issues/21Test outputStreamSocket null2020-10-01T15:12:26+02:00yannick legocTest outputStreamSocket nullCan occur when connecting to application and it dies before.Can occur when connecting to application and it dies before.https://code.ill.fr/cameo/cameo/-/issues/20Request version of the server in API2020-10-01T14:24:02+02:00yannick legocRequest version of the server in APICan be used later to check the compatibility.
Console application must be updated to provide a version command that will return a simple value in case the request does not exist.Can be used later to check the compatibility.
Console application must be updated to provide a version command that will return a simple value in case the request does not exist.https://code.ill.fr/cameo/cameo/-/issues/19Refactor use of ZeroMQ2020-10-01T14:17:32+02:00yannick legocRefactor use of ZeroMQGather code: Socket calls.
Manage exceptions from ZeroMQ (ex: invalid host generates an exception).Gather code: Socket calls.
Manage exceptions from ZeroMQ (ex: invalid host generates an exception).