cameo issueshttps://code.ill.fr/cameo/cameo/-/issues2020-10-09T15:24:05+02:00https://code.ill.fr/cameo/cameo/-/issues/66Config file in JSON2020-10-09T15:24:05+02:00yannick legocConfig file in JSONSo that there is only JSON in the project: is more trendySo that there is only JSON in the project: is more trendyJSON and nameshttps://code.ill.fr/cameo/cameo/-/issues/65Console improvements2020-10-06T10:19:17+02:00yannick legocConsole improvements- Print server version
- Print endpoint
- Arguments:
-e host:port (no tcp://)
-p 10000 (only port to localhost)
Provide length args: -e = --endpoint, -p = --port, -a = --app- Print server version
- Print endpoint
- Arguments:
-e host:port (no tcp://)
-p 10000 (only port to localhost)
Provide length args: -e = --endpoint, -p = --port, -a = --appConsole updatehttps://code.ill.fr/cameo/cameo/-/issues/62Request::getServer to be reviewed2022-03-01T15:44:23+01:00yannick legocRequest::getServer to be reviewedProvide a way to create the server outside? And do not keep it inside the Request.Provide a way to create the server outside? And do not keep it inside the Request.New version of APIshttps://code.ill.fr/cameo/cameo/-/issues/61Review unique_ptr vs shared_ptr2020-10-01T15:00:36+02:00yannick legocReview unique_ptr vs shared_ptrRequest::getServer() should return a shared_ptr because it can be called many times.Request::getServer() should return a shared_ptr because it can be called many times.New version of APIshttps://code.ill.fr/cameo/cameo/-/issues/60Add a sync mode to subscriber2023-09-22T09:12:22+02:00yannick legocAdd a sync mode to subscriberThe subscriber does not know when it is really connected. We need to add an option at the creation of the subscriber.
However this implies to review the publisher which must have a thread running the responder.The subscriber does not know when it is really connected. We need to add an option at the creation of the subscriber.
However this implies to review the publisher which must have a thread running the responder.Mischttps://code.ill.fr/cameo/cameo/-/issues/59Correct ApplicationConfig.toString in cameo-server2020-10-01T14:58:30+02:00yannick legocCorrect ApplicationConfig.toString in cameo-servererrorComand must be correctederrorComand must be correctedhttps://code.ill.fr/cameo/cameo/-/issues/57Add the possibility to send text and binary content2020-10-01T14:56:30+02:00yannick legocAdd the possibility to send text and binary contentFor all the send/reply functions/methods.
Or unify with only binary and an interpreter to convert easily a text part.For all the send/reply functions/methods.
Or unify with only binary and an interpreter to convert easily a text part.https://code.ill.fr/cameo/cameo/-/issues/56Refactor OuputStreamSocket2022-04-20T13:42:52+02:00yannick legocRefactor OuputStreamSocketChange namespace/package. Return null instead of end in case of end.Change namespace/package. Return null instead of end in case of end.New version of APIshttps://code.ill.fr/cameo/cameo/-/issues/55Switch to cmake for C++2020-10-07T11:23:08+02:00yannick legocSwitch to cmake for C++Python APIShervin NourbakhshShervin Nourbakhshhttps://code.ill.fr/cameo/cameo/-/issues/53Review getActualState()2020-10-10T10:24:25+02:00yannick legocReview getActualState()It seems that sometimes the function Instance::now() does not return the current state. It happens with NomadGUI.
Does it come from the zeromq pub/sub? Some events could be lost?
If it is the case, one solution would be to poll at a low ...It seems that sometimes the function Instance::now() does not return the current state. It happens with NomadGUI.
Does it come from the zeromq pub/sub? Some events could be lost?
If it is the case, one solution would be to poll at a low frequency.
Test: start and kill an application. Follow it using now() in parallel. The workflow should never block.Mischttps://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/34Console output stream sync2020-10-14T15:48:47+02:00yannick legocConsole output stream syncUsed in console, the output stream can block.
It seems to come from the fact that the subscriber has not yet subscribed.
Solution: use a sync socket to check it is really.
That means that we must define a new request SYNC_STREAM like SYN...Used in console, the output stream can block.
It seems to come from the fact that the subscriber has not yet subscribed.
Solution: use a sync socket to check it is really.
That means that we must define a new request SYNC_STREAM like SYNC.
The server sends a SYNC_STREAM message on the concerned output stream.Mischttps://code.ill.fr/cameo/cameo/-/issues/33Log messages in cameo.log : level in config2020-10-06T14:20:53+02:00yannick legocLog messages in cameo.log : level in configThe level displayed must be set by its value and not debug="ON" i.e log="FINE"The level displayed must be set by its value and not debug="ON" i.e log="FINE"Server v1 update (1)https://code.ill.fr/cameo/cameo/-/issues/29States in objects2020-10-01T14:27:54+02:00yannick legocStates in objectsEach connected object must have a clear state.Each connected object must have a clear state.New version of APIshttps://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/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/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.