Loading...
Searching...
No Matches
OcsdGenElemList Class Reference

Maintain a list of elements to be output. More...

`#include <ocsd_gen_elem_list.h>`

## Public Member Functions

| OcsdGenElemList ()
| ~OcsdGenElemList ()
void | initSendIf (componentAttachPt< ITrcGenElemIn > *pGenElemIf)
void | initCSID (const uint8_t CSID)
void | reset ()
| reset the element list.
OcsdTraceElement * | getNextElem (const ocsd_trc_index_t trc_pkt_idx)
| get next free element on the stack (add one to the output)
const int | getNumElem () const
| return the total number of elements on the stack (inlcuding any pended ones).
const ocsd_gen_trc_elem_t | getElemType (const int entryN) const
| get the type for the nth element in the stack (0 indexed)
void | pendLastNElem (int numPend)
| Last element to be pended prior to cancel/commit decision.
void | commitAllPendElem ()
| commit all pended elements.
void | cancelPendElem ()
| cancel the last pended element on the stack.
const int | numPendElem () const
| return the number of pended elements.
ocsd_datapath_resp_t | sendElements ()
const bool | elemToSend () const
| true if any none-pending elements left to send.

## Detailed Description

Maintain a list of elements to be output.

Each incoming packet can result in multiple output elements. These are stacked in this class prior to entering the output phase of processing.

This should remove some of the requirement on the packet processing to be re-enterant, simplifying this code.

Last element(s) on this list can be marked pending to allow for later cancellation. (This required for cancel element in ETMv3 exeception branch).

The "list" is actually a ring buffer - maintaining pointers to indicate current valid elements. This buffer can increase on demand, but will only be released at the end of a decode session.

Definition at line 56 of file ocsd_gen_elem_list.h.

## Constructor & Destructor Documentation

## OcsdGenElemList()

OcsdGenElemList::OcsdGenElemList | ( |  | ) |

## ~OcsdGenElemList()

OcsdGenElemList::~OcsdGenElemList | ( |  | ) |

## Member Function Documentation

## cancelPendElem()

void OcsdGenElemList::cancelPendElem | ( |  | ) |

inline

cancel the last pended element on the stack.

Definition at line 135 of file ocsd_gen_elem_list.h.

## commitAllPendElem()

void OcsdGenElemList::commitAllPendElem | ( |  | ) |

inline

commit all pended elements.

Definition at line 130 of file ocsd_gen_elem_list.h.

## elemToSend()

const bool OcsdGenElemList::elemToSend | ( |  | ) | const

inline

true if any none-pending elements left to send.

Definition at line 143 of file ocsd_gen_elem_list.h.

Here is the call graph for this function:

## getElemType()

const ocsd_gen_trc_elem_t OcsdGenElemList::getElemType | ( | const int | entryN | ) | const

get the type for the nth element in the stack (0 indexed)

## getNextElem()

OcsdTraceElement * OcsdGenElemList::getNextElem | ( | const ocsd_trc_index_t | trc_pkt_idx | ) |

get next free element on the stack (add one to the output)

## getNumElem()

const int OcsdGenElemList::getNumElem | ( |  | ) | const

inline

return the total number of elements on the stack (inlcuding any pended ones).

Definition at line 114 of file ocsd_gen_elem_list.h.

Here is the caller graph for this function:

## initCSID()

void OcsdGenElemList::initCSID | ( | const uint8_t | CSID | ) |

inline

Definition at line 63 of file ocsd_gen_elem_list.h.

## initSendIf()

void OcsdGenElemList::initSendIf | ( | componentAttachPt< ITrcGenElemIn > * | pGenElemIf | ) |

inline

Definition at line 148 of file ocsd_gen_elem_list.h.

## numPendElem()

const int OcsdGenElemList::numPendElem | ( |  | ) | const

inline

return the number of pended elements.

Definition at line 119 of file ocsd_gen_elem_list.h.

## pendLastNElem()

void OcsdGenElemList::pendLastNElem | ( | int | numPend | ) |

inline

Last element to be pended prior to cancel/commit decision.

Definition at line 124 of file ocsd_gen_elem_list.h.

Here is the call graph for this function:

## reset()

void OcsdGenElemList::reset | ( |  | ) |

reset the element list.

## sendElements()

ocsd_datapath_resp_t OcsdGenElemList::sendElements | ( |  | ) |

Send all of the none pended elements Stop sending when all sent or _CONT response.

The documentation for this class was generated from the following file:

- /build/libopencsd-8WV101/libopencsd-1.5.5/decoder/include/common/ocsd_gen_elem_list.h