Update documentation on duplicate values
This commit is contained in:
		
							parent
							
								
									9572d79f72
								
							
						
					
					
						commit
						fb95abcc25
					
				| @ -15,7 +15,7 @@ Channels become dirty when a new value is written to them. No other | ||||
| modifications are allowed by default until the channel is flushed by calling | ||||
| `chan_flush()`. This behavior can be controlled with the `CHAN_DIRTY_WRITE` | ||||
| property. By default, a duplicated value cannot be written into a channel, | ||||
| unless the `CHAN_DUPLICATES` property is set. | ||||
| unless the `CHAN_ALLOW_DUP` or `CHAN_IGNORE_DUP` properties are set. | ||||
| 
 | ||||
| A channel has an unique name used to identify the channel when debugging and | ||||
| also to create derived channels. The name can be set following the printf style | ||||
| @ -51,8 +51,14 @@ written to a channel and multiple data types can be stored in the stack. | ||||
| 
 | ||||
| Channels have properties that can be set by `chan_prop_set()`. Setting the | ||||
| `CHAN_DIRTY_WRITE` property to true allows a channel to modify its value while | ||||
| being in the dirty state. The `CHAN_DUPLICATES` property determines is a channel | ||||
| can write the same value to the channel twice. | ||||
| being in the dirty state. | ||||
| 
 | ||||
| ## Duplicate values | ||||
| 
 | ||||
| By default, writing the same value to a channel twice is forbidden and will | ||||
| result in a error. The property `CHAN_ALLOW_DUP` allows writing the same value | ||||
| to the channel. However, the property `CHAN_IGNORE_DUP` will ignore the attempt | ||||
| to write the duplicated value with no error. | ||||
| 
 | ||||
| ## Callback | ||||
| 
 | ||||
|  | ||||
| @ -16,8 +16,15 @@ A channel can be connected to each row in a trace with `prv_register()`, so the | ||||
| new values of the channel get written in the trace. Only null and int64 data | ||||
| values are supported for now. | ||||
| 
 | ||||
| Duplicated values cause an error by default, unless the channel is registered | ||||
| with the flag `PRV_DUP`. | ||||
| 
 | ||||
| The emission phase is controlled by the [patch bay](../patchbay) and runs all | ||||
| the emit callbacks at once for all dirty channels. | ||||
| 
 | ||||
| ## Duplicate values | ||||
| 
 | ||||
| When a channel feeds a duplicated value, it causes an error by default. The | ||||
| behavior of each row when a duplicate value is found can be controlled by the | ||||
| `flags` in `prv_register()`: | ||||
| 
 | ||||
| - `PRV_EMITDUP` will emit the duplicate values from the channel to the trace. | ||||
| 
 | ||||
| - `PRV_SKIPDUP` ignore any duplicate values and don't emit them. | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user