Skip to content

Improve documentation for asynTrace #62

@MarkRivers

Description

@MarkRivers

From an e-mail exchange between Mark Rivers and Ben Franksen.

Hi Mark

ah, thanks, I didn't know that (nor is it obvious, at least not by
looking at the docs or the header file).

BTW, it would help a lot if this and also the possible constants to use
for asynSetTraceMask and asynSetTraceIOMask would be listed together
with these functions in the asynDriver docs.

Cheers
Ben

On 11/20/2017 05:17 PM, Mark Rivers wrote:
> Hi Ben,
> 
> "reason" is the asyn traceMask bit mask.  The bits are:
> 
> /* traceMask definitions*/
> #define ASYN_TRACE_ERROR     0x0001
> #define ASYN_TRACEIO_DEVICE  0x0002
> #define ASYN_TRACEIO_FILTER  0x0004
> #define ASYN_TRACEIO_DRIVER  0x0008
> #define ASYN_TRACE_FLOW      0x0010
> #define ASYN_TRACE_WARNING   0x0020
> 
> I suggest calling asynPrint as follows:
> ASYN_TRACE_ERROR for errors
> ASYN_TRACE_WARNING for warnings
> ASYN_TRACE_FLOW for debugging of flow.
> 
> Since streamDevice is device support I suggest calling asynPrintIO in this case:
> ASYN_TRACEIO_DEVICE for debugging output that contains data
> 
> Mark
> 
> -----Original Message-----
> From: Benjamin Franksen [mailto:benjamin.franksen@helmholtz-berlin.de] 
> Sent: Monday, November 20, 2017 9:48 AM
> To: Mark Rivers
> Subject: Re: How to turn off spewing messaging from asyn/stream devicse.
> 
> Hi Mark
> 
> On 11/09/2017 11:34 PM, Mark Rivers wrote:
>> However, because those messages are coming from streamDevice and not
>> asyn that does not work.  I have asked Dirk to consider changing the
>> streamDevice error reporting so that if asyn is being used (which it
>> almost always is) then it uses the asynTrace mechanism for control
>> messages.  That would allow controlling them as above.
> 
> I plan to make this change in StreamDevice. The fact that the asyn
> backend is confined to a single module actually makes things easier. I
> am planning to change only those calls to the 'error' that result from
> asyn calls indicating failure, since these are the ones that we want to
> filter.
> 
> The problem I have is this: using asynTrace requires to provide the
> print method with an 'int reason' argument. I don't know what is
> expected here. How do I get hold of a suitable 'reason'?
> 
> Cheers
> Ben

The asynDriver.html documentation needs to be improved to explain this better.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions