Motr  M0
m0_rm_outgoing Struct Reference

#include <rm.h>

Collaboration diagram for m0_rm_outgoing:
Collaboration graph

Data Fields

enum m0_rm_outgoing_type rog_type
 
int32_t rog_rc
 
struct m0_rm_loan rog_want
 
bool rog_sent
 
uint64_t rog_magix
 

Detailed Description

An outgoing request is created on behalf of some incoming request to track the state of credit transfer with some remote domain.

An outgoing request is created to:

  • borrow a new credit from some remote owner (an "upward" request) or
  • revoke a credit sublet to some remote owner (a "downward" request) or
  • cancel this owner's credit and return it to an upward owner.

Before a new outgoing request is created, a list of already existing outgoing requests (m0_rm_owner::ro_outgoing) is scanned. If an outgoing request of a matching type for a greater or equal credit exists, new request is not created. Instead, the incoming request pins existing outgoing request.

m0_rm_outgoing fields and state transitions are protected by the owner's mutex.

Definition at line 1543 of file rm.h.

Field Documentation

◆ rog_magix

uint64_t rog_magix

Definition at line 1553 of file rm.h.

◆ rog_rc

int32_t rog_rc

Definition at line 1548 of file rm.h.

◆ rog_sent

bool rog_sent

Flag indicating whether outgoing request is posted to RPC layer

Definition at line 1552 of file rm.h.

◆ rog_type

enum m0_rm_outgoing_type rog_type

Definition at line 1544 of file rm.h.

◆ rog_want

struct m0_rm_loan rog_want

A credit that is to be transferred.

Definition at line 1550 of file rm.h.


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