Motr  M0
at.h File Reference
#include "lib/types.h"
#include "lib/buf.h"
#include "lib/buf_xc.h"
#include "net/net_otw_types.h"
#include "net/net_otw_types_xc.h"
#include "xcode/xcode_attr.h"
#include "lib/assert.h"
Include dependency graph for at.h:

Go to the source code of this file.

Data Structures

struct  m0_rpc_at_bulk_rep
 
struct  m0_rpc_at_extra
 
struct  m0_rpc_at_buf
 

Macros

#define __MOTR_RPC_AT_H__
 

Enumerations

enum  m0_rpc_at_type {
  M0_RPC_AT_EMPTY = 0, M0_RPC_AT_INLINE = 1, M0_RPC_AT_BULK_SEND = 2, M0_RPC_AT_BULK_RECV = 3,
  M0_RPC_AT_BULK_REP = 4, M0_RPC_AT_TYPE_NR
}
 
enum  { M0_RPC_AT_UNKNOWN_LEN = 0 }
 

Functions

struct m0_rpc_at_bulk_rep M0_XCA_DOMAIN (rpc)
 
 M0_BASSERT (sizeof((struct m0_rpc_at_buf *) 0) ->u==sizeof(struct m0_rpc_at_extra))
 
 M0_BASSERT (offsetof(struct m0_rpc_at_buf, u.ab_extra.abr_bulk) >=sizeof((struct m0_rpc_at_buf *) 0) ->u.ab_buf)
 
M0_INTERNAL void m0_rpc_at_init (struct m0_rpc_at_buf *ab)
 
M0_INTERNAL void m0_rpc_at_fini (struct m0_rpc_at_buf *ab)
 
M0_INTERNAL int m0_rpc_at_add (struct m0_rpc_at_buf *ab, const struct m0_buf *buf, const struct m0_rpc_conn *conn)
 
M0_INTERNAL int m0_rpc_at_load (struct m0_rpc_at_buf *ab, struct m0_fom *fom, int next_phase)
 
M0_INTERNAL int m0_rpc_at_get (const struct m0_rpc_at_buf *ab, struct m0_buf *buf)
 
M0_INTERNAL int m0_rpc_at_recv (struct m0_rpc_at_buf *ab, const struct m0_rpc_conn *conn, uint32_t len, bool force_bulk)
 
M0_INTERNAL int m0_rpc_at_reply (struct m0_rpc_at_buf *in, struct m0_rpc_at_buf *out, struct m0_buf *repbuf, struct m0_fom *fom, int next_phase)
 
M0_INTERNAL int m0_rpc_at_reply_rc (struct m0_rpc_at_buf *out)
 
M0_INTERNAL int m0_rpc_at_rep_get (struct m0_rpc_at_buf *sent, struct m0_rpc_at_buf *rcvd, struct m0_buf *out)
 
M0_INTERNAL int m0_rpc_at_rep2inline (struct m0_rpc_at_buf *sent, struct m0_rpc_at_buf *rcvd)
 
M0_INTERNAL bool m0_rpc_at_rep_is_bulk (const struct m0_rpc_at_buf *rcvd, uint64_t *len)
 
M0_INTERNAL bool m0_rpc_at_is_set (const struct m0_rpc_at_buf *ab)
 
M0_INTERNAL void m0_rpc_at_detach (struct m0_rpc_at_buf *ab)
 
M0_INTERNAL uint64_t m0_rpc_at_len (const struct m0_rpc_at_buf *ab)
 

Variables

int32_t abr_rc
 
uint64_t abr_len
 
struct m0_net_buf_desc_data abr_desc
 
struct rpc_at_bulkabr_bulk
 
struct m0_buf abr_user_buf
 
uint32_t ab_type
 
union {
u
 

Macro Definition Documentation

◆ __MOTR_RPC_AT_H__

#define __MOTR_RPC_AT_H__

Definition at line 26 of file at.h.

Variable Documentation

◆ ab_type

uint32_t ab_type

Value from enum m0_rpc_at_type.

Definition at line 74 of file at.h.

◆ abr_bulk

struct rpc_at_bulk* abr_bulk

Definition at line 75 of file at.h.

◆ abr_desc

struct m0_net_buf_desc_data abr_desc

Definition at line 74 of file at.h.

◆ abr_len

uint64_t abr_len

Length of the requested buffer.

Definition at line 81 of file at.h.

◆ abr_rc

int32_t abr_rc

RPC bulk transfer result. -ENOMSG if inbulk is required, but client requested inline or provided net buffer descriptor with insufficient length.

Definition at line 78 of file at.h.

◆ abr_user_buf

struct m0_buf abr_user_buf

Definition at line 76 of file at.h.

◆ u

union { ... } u