-
Notifications
You must be signed in to change notification settings - Fork 6
-
Notifications
You must be signed in to change notification settings - Fork 6
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Message and sequence size limited to 4 KiB in protocol sessions #713
Comments
The buffer sizes of message and sequence variables could be made generic parameters of the generated session package. To avoid too many parameters during instantiation, a default value could be predefined. The default value could be settable in the RecordFlux CLI. Custom buffer sizes should be considered in the design of the memory allocator in #629. |
Copy of the proposal discussed in #629: ConfigurationRegarding the configuration of memory sizes, we decided to separate those integration aspects into an independent file. For every specification there can be an The file format looks like this: Buffer_Size:
Default: <default_minimum_size>
Global:
Global_Variable_1_Name: <minimum_size>
...
Glocal_Variable_n_Name: <minimum_size>
Local:
State_1:
Local_Variable_1_Name: <minimum_size>
...
Local_Variable_n_Name: <minimum_size>
...
State_m:
Local_Variable_1_Name: <minimum_size>
...
Local_Variable_n_Name: <minimum_size> The default size is used for all memory regions for which no explicit size is specified. CalculationCalculation of the required buffer sizes should be simple. The number of required buffers obviously is the maximum number of local variables used in any state. For every state we sort the required variable sizes in descending order and extend the resulting list to have the maximum length (by adding 0 size values). To calculate the required slot sizes, we simply take the maximum value for every position in every list across all states. The allocation for a local variable in a state simply is the position in the (state-specific) list referring to that local variable. |
Are multiple sessions in a single |
Yes, you are right. A specification file can contain multiple sessions, and we need to differentiate them in the Session_1_Name:
Buffer_Size:
Default: <default_minimum_size>
Global:
Global_Variable_1_Name: <minimum_size>
...
Session_2_Name:
Buffer_Size:
Default: <default_minimum_size>
Global:
Global_Variable_1_Name: <minimum_size>
... |
Do we want to keep the file open for other uses, including not related to sessions? In that case, it could be better to have a top-level entry for the Buffer_Size stuff, something like that maybe:
Another question: Do we want to allow default values per state, or globally per session only? |
You are right, we should keep the file format extendable. I have discussed that with @senier, and we came up with the following format: Session:
Session_1_Name:
Buffer_Size:
Default: <default_minimum_size>
Global:
Global_Variable_1_Name: <minimum_size>
...
Session_2_Name:
Buffer_Size:
Default: <default_minimum_size>
Global:
Global_Variable_1_Name: <minimum_size>
... This format also makes it easier to add further configuration options to a session which are not related to buffer sizes. |
I can't add tasks to this issue given that the first post was by Tobias. Tobias, can you please add the item "Documentation" to the task list? |
Sure, I have added it. |
- command line option for rfi files - new argument of Parser and Integration for rfi files location - move all rfi file handling to Integration class - move testing accordingly - new test for different location of rfi file For #713
- command line option for rfi files - new argument of Parser and Integration for rfi files location - move all rfi file handling to Integration class - move testing accordingly - new test for different location of rfi file For #713
- command line option for rfi files - new argument of Parser and Integration for rfi files location - move all rfi file handling to Integration class - move testing accordingly - new test for different location of rfi file For #713
I think this can be closed now. Any other items that anybody can think of? |
As all tasks are completed and merged, this issue can be closed. |
For each message or sequence variable in a session specification, 4 KiB are allocated, independent of the actual type. Larger messages or sequences are not yet supported.
Tasks
The text was updated successfully, but these errors were encountered: