Merge remote-tracking branch 'upstream/master' into security
This commit is contained in:
		
						commit
						2da100a3c7
					
				
					 35 changed files with 671 additions and 157 deletions
				
			
		| 
						 | 
				
			
			@ -56,7 +56,7 @@ su - travis
 | 
			
		|||
5. Install The [Conan C/C++ Package Manager](https://conan.io).
 | 
			
		||||
 | 
			
		||||
 ```
 | 
			
		||||
$ pip intall conan --upgrade --user
 | 
			
		||||
$ pip install conan --upgrade --user
 | 
			
		||||
$ conan user
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -66,7 +66,7 @@ priority member that is passed to the handler consists of the priority,
 | 
			
		|||
e.g. error, info, etc and (if it's a trace message) the category.
 | 
			
		||||
 | 
			
		||||
To be specific. The last four bits of the 32-bit integer contain the priority.
 | 
			
		||||
The other bits implicity indicate it's a trace message and are reserved to
 | 
			
		||||
The other bits implicitly indicate it's a trace message and are reserved to
 | 
			
		||||
specify the category to which a message belongs.
 | 
			
		||||
 | 
			
		||||
```C
 | 
			
		||||
| 
						 | 
				
			
			@ -89,7 +89,7 @@ the internal log and trace functions depends on it. The user is strongly
 | 
			
		|||
discouraged to enable all categories and filter messages in the registered
 | 
			
		||||
handler, because of the performance impact!
 | 
			
		||||
 | 
			
		||||
> Tests have shown performance to decrease by roughly 5% if the descision on
 | 
			
		||||
> Tests have shown performance to decrease by roughly 5% if the decision on
 | 
			
		||||
> whether or not to write the message is done outside the function. The reason
 | 
			
		||||
> obviously not being the *if*-statement, but the creation of the stack frame.
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -143,7 +143,7 @@ that can print to the native log api offered by a target. e.g.
 | 
			
		|||
 * Use the name of the parameter as it appears in the documentation for that 
 | 
			
		||||
   language binding to reference a parameter where applicable.
 | 
			
		||||
 * Use the same formatting style as other messages in the same module.
 | 
			
		||||
   * e.g. use "could not ..." or "failed to ..." consitently.
 | 
			
		||||
   * e.g. use "could not ..." or "failed to ..." consistently.
 | 
			
		||||
 * Avoid duplicate reports as much as possible. 
 | 
			
		||||
   e.g. if a problem is reported in a lower layer, do not report it again when 
 | 
			
		||||
   the error is propagated.
 | 
			
		||||
| 
						 | 
				
			
			@ -173,7 +173,7 @@ that can print to the native log api offered by a target. e.g.
 | 
			
		|||
 | 
			
		||||
* Cyclone assumes files can always be written. For a number of supported
 | 
			
		||||
  targets, e.g. FreeRTOS and VxWorks, this is often not the case. Also,
 | 
			
		||||
  filling the memory with log files is proably undesirable.
 | 
			
		||||
  filling the memory with log files is probably undesirable.
 | 
			
		||||
 | 
			
		||||
* Cyclone (except for DDSI) does not support log categories to selectively
 | 
			
		||||
  enable/disable messages that the user is interested in. Causing trace logs
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,7 +1,7 @@
 | 
			
		|||
# Eclipse Cyclone DDS Module Layout
 | 
			
		||||
 | 
			
		||||
Cyclone DDS is made up of multiple modules, each of which provides a certain
 | 
			
		||||
set of functionality, either private, public or a combination therof. Since
 | 
			
		||||
set of functionality, either private, public or a combination thereof. Since
 | 
			
		||||
Cyclone DDS is a middleware product, the api is of course the most visible
 | 
			
		||||
interface. Cyclone DDS uses the *dds* (not followed by an underscore) prefix
 | 
			
		||||
to avoid name collisions with other code.
 | 
			
		||||
| 
						 | 
				
			
			@ -32,7 +32,7 @@ but does offer a neat way to separate features logically.
 | 
			
		|||
> restructuring of the runtime module. The two will be merged in the not too
 | 
			
		||||
> distant future.
 | 
			
		||||
 | 
			
		||||
All modules are exported seperately, for convenience. e.g. the *ddsrt* module
 | 
			
		||||
All modules are exported separately, for convenience. e.g. the *ddsrt* module
 | 
			
		||||
offers target agnostic interfaces to create and manage threads and
 | 
			
		||||
synchronization primitives, retrieve resource usage, system time, etc.
 | 
			
		||||
However, all symbols not referenced by including *dds.h* or prefixed with
 | 
			
		||||
| 
						 | 
				
			
			@ -54,12 +54,12 @@ the target supports IPv6 addresses.
 | 
			
		|||
 | 
			
		||||
 | 
			
		||||
### Feature discovery
 | 
			
		||||
Discovery of target features at compile time is lagely dynamic. Various target
 | 
			
		||||
Discovery of target features at compile time is largely dynamic. Various target
 | 
			
		||||
specific predefined macros determine if a feature is supported and which
 | 
			
		||||
implementation is built. This is on purpose, to avoid a target specific
 | 
			
		||||
include directory and an abundance of configuration header files and works
 | 
			
		||||
well for most use cases. Of course, there are exceptions where the preprocessor
 | 
			
		||||
requires some hints to make the right the descision. e.g. when the lwIP TCP/IP
 | 
			
		||||
requires some hints to make the right decision. e.g. when the lwIP TCP/IP
 | 
			
		||||
stack should be used as opposed to the native stack. The build system is
 | 
			
		||||
responsible for the availability of the proper macros at compile time.
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -82,10 +82,10 @@ target architecture specific implementation.
 | 
			
		|||
#### Network stack
 | 
			
		||||
General purpose operating systems like Microsoft Windows and Linux come with
 | 
			
		||||
a network stack, as does VxWorks. FreeRTOS, however, does not and requires a
 | 
			
		||||
seperate TCP/IP stack, which is often part of the Board Support Package (BSP).
 | 
			
		||||
separate TCP/IP stack, which is often part of the Board Support Package (BSP).
 | 
			
		||||
But separate stacks can be used on Microsoft Windows and Linux too. e.g. the
 | 
			
		||||
network stack in Tizen RT is based on lwIP, but the platform uses the Linux
 | 
			
		||||
kernel. Wheter or not lwIP must be used cannot be determined automatically and
 | 
			
		||||
kernel. Whether or not lwIP must be used cannot be determined automatically and
 | 
			
		||||
the build system must hint which implementation is to be used.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -158,7 +158,7 @@ directory.
 | 
			
		|||
 | 
			
		||||
### Development guidelines
 | 
			
		||||
* Be pragmatic. Use ifdefs (only) where it makes sense. Do not ifdef if target
 | 
			
		||||
  implementations are completely different. Add a seperate implementation. If
 | 
			
		||||
  implementations are completely different. Add a separate implementation. If
 | 
			
		||||
  there are only minor differences, as is typically the case between unices,
 | 
			
		||||
  use an ifdef.
 | 
			
		||||
* Header and source files are not prefixed. Instead they reside in a directory
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue