cameo issueshttps://code.ill.fr/cameo/cameo/-/issues2020-10-06T14:53:56+02:00https://code.ill.fr/cameo/cameo/-/issues/23Documentation2020-10-06T14:53:56+02:00yannick legocDocumentationThe documentation with concepts and commented examples must be written
Explain:
* What is an application
* What is an App = application instance
Draw the general case: multiple App instance -> multiple instance process -> application
*...The documentation with concepts and commented examples must be written
Explain:
* What is an application
* What is an App = application instance
Draw the general case: multiple App instance -> multiple instance process -> application
* Configuration file with options
* Managed and unmanaged applications
* Communication patterns
It will also contain:
* Publisher/Subscriber: dead publisher application. Clarify: Subscriber.hasEnded() returns false
* Study how the project is related to others: for documentation/article
* Asynchronous API, future/promise model, how it is not enough.
* Study Erlang
https://en.wikipedia.org/wiki/Erlang_(programming_language)
* thread safety: clarifyMischttps://code.ill.fr/cameo/cameo/-/issues/24Check null values passed to send data functions/methods2020-10-01T14:20:25+02:00yannick legocCheck null values passed to send data functions/methodsFor functions: This.setResult, Publisher.send, Requester.send.
The simplest solution is to do nothing if data are null.For functions: This.setResult, Publisher.send, Requester.send.
The simplest solution is to do nothing if data are null.Mischttps://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/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/68Check compatibility2022-05-19T14:59:05+02:00yannick legocCheck compatibilityWhen connecting to a remote cameo server, it is necessary to check the version so that it is compatible with the API version.
The server must verify that the request is acceptable or not (i.e. a request from API v1 is not compatible with...When connecting to a remote cameo server, it is necessary to check the version so that it is compatible with the API version.
The server must verify that the request is acceptable or not (i.e. a request from API v1 is not compatible with v2).New version of APIshttps://code.ill.fr/cameo/cameo/-/issues/72Review LifecycleApplicationThread2020-10-01T21:54:35+02:00yannick legocReview LifecycleApplicationThreadDefine clearly the state graph with all the concepts:
- starting time
- etc.
The error state should only happen when the process returns an error code.Define clearly the state graph with all the concepts:
- starting time
- etc.
The error state should only happen when the process returns an error code.Mischttps://code.ill.fr/cameo/cameo/-/issues/79Windows compilation with CMake2020-10-09T07:43:13+02:00yannick legocWindows compilation with CMakeCMakehttps://code.ill.fr/cameo/cameo/-/issues/92Review server code2020-11-02T10:26:25+01:00yannick legocReview server codeReview all the server code:
- Format the code
- Document the methods
- Document the request processReview all the server code:
- Format the code
- Document the methods
- Document the request processServer v1 update (2)https://code.ill.fr/cameo/cameo/-/issues/96Application inheritance in server2020-10-26T09:24:37+01:00yannick legocApplication inheritance in serverDo not inherit Application from ApplicationConfig. Pass the object in field.
Define ApplicationAndStarterIdentity at the creation of the object.Do not inherit Application from ApplicationConfig. Pass the object in field.
Define ApplicationAndStarterIdentity at the creation of the object.Server v1 update (2)https://code.ill.fr/cameo/cameo/-/issues/104Execute unregistered apps by cmo2021-06-07T16:36:12+02:00yannick legocExecute unregistered apps by cmo```
cmo exec <program> <args>
```
If program is not a registered app then execute by adding the necessary JSON argument.```
cmo exec <program> <args>
```
If program is not a registered app then execute by adding the necessary JSON argument.Console updatehttps://code.ill.fr/cameo/cameo/-/issues/106Java Package for server and console2021-04-30T09:10:06+02:00yannick legocJava Package for server and consoleDepends on modularization.Depends on modularization.https://code.ill.fr/cameo/cameo/-/issues/107Build server2021-04-30T09:35:48+02:00yannick legocBuild serverhttps://code.ill.fr/cameo/cameo/-/issues/118Launch server with a special endpoint port2021-07-07T09:24:42+02:00yannick legocLaunch server with a special endpoint portOverride the XML config file(s) port with the option --port <port>Override the XML config file(s) port with the option --port <port>https://code.ill.fr/cameo/cameo/-/issues/120Java projects modularization2021-11-26T11:25:41+01:00yannick legocJava projects modularizationImplement Java 9 modules.Implement Java 9 modules.https://code.ill.fr/cameo/cameo/-/issues/124Check This initialization in coms creation2022-01-17T15:00:29+01:00yannick legocCheck This initialization in coms creationMischttps://code.ill.fr/cameo/cameo/-/issues/129Limit length of names: app and coms2022-02-22T13:32:30+01:00yannick legocLimit length of names: app and comsLimit to 100 chars.Limit to 100 chars.JSON and nameshttps://code.ill.fr/cameo/cameo/-/issues/130Merge init requests2022-02-28T10:37:34+01:00yannick legocMerge init requestsMerge Server API init requests: version, proxy ports, etc.Merge Server API init requests: version, proxy ports, etc.Mischttps://code.ill.fr/cameo/cameo/-/issues/134Automated tests2022-04-20T14:15:43+02:00yannick legocAutomated testsUse assertions.
Use setResult to verify execution of apps.Use assertions.
Use setResult to verify execution of apps.https://code.ill.fr/cameo/cameo/-/issues/135Synchronize the methods and functions in API2022-04-22T09:08:56+02:00yannick legocSynchronize the methods and functions in APIAlso use atomic values.Also use atomic values.https://code.ill.fr/cameo/cameo/-/issues/136Check initialization of Cameo objects2022-05-10T15:52:50+02:00yannick legocCheck initialization of Cameo objectsA cameo object must raise an exception if a call is made whereas it is not initialized.A cameo object must raise an exception if a call is made whereas it is not initialized.https://code.ill.fr/cameo/cameo/-/issues/141Automated deployment of version2022-10-19T14:14:22+02:00yannick legocAutomated deployment of versionhttps://code.ill.fr/cameo/cameo/-/issues/147Check concurrent calls2023-06-15T16:46:50+02:00yannick legocCheck concurrent callsCancel calls may have trouble.
For instance, in Subscriber::cancel() could m_requester->cancel() provoke a segmentation fault if m_requester is destroyed during the call?Cancel calls may have trouble.
For instance, in Subscriber::cancel() could m_requester->cancel() provoke a segmentation fault if m_requester is destroyed during the call?https://code.ill.fr/cameo/cameo/-/issues/148Start cameo server from main program2023-09-22T09:13:25+02:00yannick legocStart cameo server from main programIn case the cameo server cannot be installed as service, it would be interested to attach to one process: started and stopped automatically.In case the cameo server cannot be installed as service, it would be interested to attach to one process: started and stopped automatically.https://code.ill.fr/cameo/cameo/-/issues/150Multiple configuration files2023-11-08T16:01:10+01:00yannick legocMultiple configuration filesAdd the possibility to give multiple configuration files: a directory or a list of filesAdd the possibility to give multiple configuration files: a directory or a list of fileshttps://code.ill.fr/cameo/cameo/-/issues/151Option values in API2024-01-24T10:48:28+01:00yannick legocOption values in APIHave a dedicated namespace i.e. cameo::options::UNLINKED, etc.Have a dedicated namespace i.e. cameo::options::UNLINKED, etc.