Motr  M0

#include <src_rec.h>

Collaboration diagram for m0_fdmi_src_rec:
Collaboration graph

Data Fields

uint64_t fsr_magic
 
struct m0_fdmi_srcfsr_src
 
void * fsr_data
 
struct m0_uint128 fsr_rec_id
 
struct m0_ref fsr_ref
 
struct m0_tl fsr_filter_list
 
struct m0_tlink fsr_linkage
 
struct m0_fdmi_src_ctxfsr_src_ctx
 
bool fsr_matched
 
bool fsr_dryrun
 
m0_time_t fsr_init_time
 

Detailed Description

FDMI source record struct. Used to keep data, associated to FDMI src record.

Is also used to pass the record over between source and source dock. On this communication, a pointer to this struct is uniquely identifying the record being processed.

FDMI source is responsible for allocating it, and filling in the following fields:

  • fsr_src
  • fsr_data

The rest of fields are populated by source dock. The key ones are filled in at post_record call, the rest – during record processing. FDMI source dock will keeps here all the information on FDMI record that is being processed (or being sent to plugin).

FDMI source is also responsible for de-allocating the struct, but only after source dock calls fs_put for the last time.

One recommended way of using this structure is to incorporate it into whatever struct that keeps actual data/descriptor of the event/object which has caused this FDMI record to come into existence. Later on, whenever src dock will require actions on the record, the source can easily obtain the ptr to ambient structure and use it, no need for any look-ups.

Definition at line 66 of file src_rec.h.

Field Documentation

◆ fsr_data

void* fsr_data

Source can save record-specifric data handle here.

Definition at line 75 of file src_rec.h.

◆ fsr_dryrun

bool fsr_dryrun

Used for UT. Meaning: set to true if this records should not be set to remote ep after matching.

Definition at line 106 of file src_rec.h.

◆ fsr_filter_list

struct m0_tl fsr_filter_list

Matched filters list.

Links using fdmi_src_matched_filter_item.fsmfi_linkage

Definition at line 92 of file src_rec.h.

◆ fsr_init_time

m0_time_t fsr_init_time

The first time this record is initialized for post.

Definition at line 111 of file src_rec.h.

◆ fsr_linkage

struct m0_tlink fsr_linkage

Service field for linked list

Definition at line 95 of file src_rec.h.

◆ fsr_magic

uint64_t fsr_magic

Definition at line 67 of file src_rec.h.

◆ fsr_matched

bool fsr_matched

Definition at line 101 of file src_rec.h.

◆ fsr_rec_id

struct m0_uint128 fsr_rec_id

FDMI record ID. Should be unique within FDMI source dock instance

Definition at line 80 of file src_rec.h.

◆ fsr_ref

struct m0_ref fsr_ref

FDMI record internal reference counter, used by FDMI source dock.

Is only needed during sending of record to plugins. Once all plugins confirmed they got the record, this ref is decremented down to zero and calls its callback (which in turn calls fs_end).

Definition at line 87 of file src_rec.h.

◆ fsr_src

struct m0_fdmi_src* fsr_src

Link to owner FDMI source.

Definition at line 72 of file src_rec.h.

◆ fsr_src_ctx

struct m0_fdmi_src_ctx* fsr_src_ctx

Source that posted this record

Definition at line 98 of file src_rec.h.


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