您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ xdr_serialize_generic函数代码示例

51自学网 2021-06-03 10:17:45
  C++
这篇教程C++ xdr_serialize_generic函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中xdr_serialize_generic函数的典型用法代码示例。如果您正苦于以下问题:C++ xdr_serialize_generic函数的具体用法?C++ xdr_serialize_generic怎么用?C++ xdr_serialize_generic使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

在下文中一共展示了xdr_serialize_generic函数的16个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: quotad_serialize_reply

struct iobuf *quotad_serialize_reply (rpcsvc_request_t *req, void *arg, struct iovec *outmsg,                        xdrproc_t xdrproc){        struct iobuf *iob      = NULL;        ssize_t       retlen   = 0;        ssize_t       xdr_size = 0;        GF_VALIDATE_OR_GOTO ("server", req, ret);        /* First, get the io buffer into which the reply in arg will         * be serialized.         */        if (arg && xdrproc) {                xdr_size = xdr_sizeof (xdrproc, arg);                iob = iobuf_get2 (req->svc->ctx->iobuf_pool, xdr_size);                if (!iob) {                        gf_log_callingfn (THIS->name, GF_LOG_ERROR,                                          "Failed to get iobuf");                        goto ret;                };                iobuf_to_iovec (iob, outmsg);                /* Use the given serializer to translate the give C structure in arg                 * to XDR format which will be written into the buffer in outmsg.                 */                /* retlen is used to received the error since size_t is unsigned and we                 * need -1 for error notification during encoding.                 */                retlen = xdr_serialize_generic (*outmsg, arg, xdrproc);                if (retlen == -1) {                        /* Failed to Encode 'GlusterFS' msg in RPC is not exactly                           failure of RPC return values.. client should get                           notified about this, so there are no missing frames */                        gf_log_callingfn ("", GF_LOG_ERROR, "Failed to encode message");                        req->rpc_err = GARBAGE_ARGS;                        retlen = 0;                }        }        outmsg->iov_len = retlen;ret:        if (retlen == -1) {                iobuf_unref (iob);                iob = NULL;        }        return iob;}
开发者ID:ernetas,项目名称:glusterfs,代码行数:49,


示例2: lic_submit_request

intlic_submit_request(void *req, call_frame_t *frame, rpc_clnt_prog_t *prog,		int procnum, fop_cbk_fn_t cbkfn, xdrproc_t xdrproc){        int                     ret         = -1;        struct iovec            iov         = {0};        struct iobuf            *iobuf      = NULL;        ssize_t                 xdr_size    = 0;        if (req) {                xdr_size = xdr_sizeof(xdrproc, req);                iobuf = iobuf_get2(THIS->ctx->iobuf_pool, xdr_size);                if (!iobuf) {                        goto out;                };                iov.iov_base = iobuf->ptr;                iov.iov_len  = iobuf_size (iobuf);                /* Create the xdr payload */                ret = xdr_serialize_generic (iov, req, xdrproc);                if (ret == -1)                        goto out;                iov.iov_len = ret;        }	lic_await_connected(60);        /* Send the msg */        ret = rpc_clnt_submit (g_rpc, prog, procnum, cbkfn,                               &iov, 1,                               NULL, 0, NULL, frame, NULL, 0, NULL, 0, NULL);        ret = 0;out:        if (iobuf)                iobuf_unref (iobuf);        return ret;}
开发者ID:beback1986,项目名称:MyGitProject,代码行数:40,


示例3: xdr_serialize_getattr3res

ssize_txdr_serialize_getattr3res (struct iovec outmsg, getattr3res *res){        return xdr_serialize_generic (outmsg, (void *)res,                                          (xdrproc_t)xdr_getattr3res);}
开发者ID:2510,项目名称:glusterfs,代码行数:6,


示例4: xdr_serialize_mountstat3

ssize_txdr_serialize_mountstat3 (struct iovec outmsg, mountstat3 *m){        return xdr_serialize_generic (outmsg, (void *)m,                                          (xdrproc_t)xdr_mountstat3);}
开发者ID:2510,项目名称:glusterfs,代码行数:6,


示例5: xdr_serialize_mountlist

ssize_txdr_serialize_mountlist (struct iovec outmsg, mountlist *ml){        return xdr_serialize_generic (outmsg, (void *)ml,                                          (xdrproc_t)xdr_mountlist);}
开发者ID:2510,项目名称:glusterfs,代码行数:6,


示例6: xdr_serialize_mountbody

ssize_txdr_serialize_mountbody (struct iovec outmsg, mountbody *mb){        return xdr_serialize_generic (outmsg, (void *)mb,                                          (xdrproc_t)xdr_mountbody);}
开发者ID:2510,项目名称:glusterfs,代码行数:6,


示例7: xdr_serialize_setaclreply

ssize_txdr_serialize_setaclreply (struct iovec inmsg, setaclreply *res){        return xdr_serialize_generic (inmsg, (void *) res,                                      (xdrproc_t)xdr_setaclreply);}
开发者ID:2510,项目名称:glusterfs,代码行数:6,


示例8: xdr_serialize_mountres3

/* Translate the mountres3 structure in res into XDR format into memory * referenced by outmsg.iov_base. * Returns the number of bytes used in encoding into XDR format. */ssize_txdr_serialize_mountres3 (struct iovec outmsg, mountres3 *res){        return xdr_serialize_generic (outmsg, (void *)res,                                          (xdrproc_t)xdr_mountres3);}
开发者ID:2510,项目名称:glusterfs,代码行数:10,


示例9: xdr_serialize_nlm4_testargs

ssize_txdr_serialize_nlm4_testargs (struct iovec outmsg, nlm4_testargs *args){        return xdr_serialize_generic (outmsg, (void*)args,                                      (xdrproc_t)xdr_nlm4_testargs);}
开发者ID:2510,项目名称:glusterfs,代码行数:6,


示例10: xdr_serialize_nlm4_shareres

ssize_txdr_serialize_nlm4_shareres (struct iovec outmsg, nlm4_shareres *res){        return xdr_serialize_generic (outmsg, (void *)res,                                      (xdrproc_t)xdr_nlm4_shareres);}
开发者ID:2510,项目名称:glusterfs,代码行数:6,


示例11: xdr_serialize_nfsstat3

ssize_txdr_serialize_nfsstat3 (struct iovec outmsg, nfsstat3 *s){        return xdr_serialize_generic (outmsg, (void *)s,                                          (xdrproc_t)xdr_nfsstat3);}
开发者ID:2510,项目名称:glusterfs,代码行数:6,


示例12: xdr_serialize_pathconf3res

ssize_txdr_serialize_pathconf3res (struct iovec outmsg, pathconf3res *res){        return xdr_serialize_generic (outmsg, (void *)res,                                          (xdrproc_t)xdr_pathconf3res);}
开发者ID:2510,项目名称:glusterfs,代码行数:6,


示例13: xdr_serialize_readdirp3res

ssize_txdr_serialize_readdirp3res (struct iovec outmsg, readdirp3res *res){        return xdr_serialize_generic (outmsg, (void *)res,                                          (xdrproc_t)xdr_readdirp3res);}
开发者ID:2510,项目名称:glusterfs,代码行数:6,


示例14: xdr_serialize_link3res

ssize_txdr_serialize_link3res (struct iovec outmsg, link3res *li){        return xdr_serialize_generic (outmsg, (void *)li,                                          (xdrproc_t)xdr_link3res);}
开发者ID:2510,项目名称:glusterfs,代码行数:6,


示例15: xdr_from_dump_req

ssize_txdr_from_dump_req (struct iovec outmsg, void *rsp){        return xdr_serialize_generic (outmsg, (void *)rsp,                                      (xdrproc_t)xdr_gf_dump_req);}
开发者ID:Gaurav-Gangalwar,项目名称:glusterfs,代码行数:6,


示例16: rpc_clnt_mgmt_pmap_signout

intrpc_clnt_mgmt_pmap_signout (glusterfs_ctx_t *ctx, char *brickname){        int               ret = 0;        pmap_signout_req  req = {0, };        call_frame_t     *frame = NULL;        cmd_args_t       *cmd_args = NULL;        char              brick_name[PATH_MAX]  = {0,};        struct iovec      iov = {0, };        struct iobuf     *iobuf = NULL;        struct iobref    *iobref = NULL;        ssize_t           xdr_size = 0;        frame = create_frame (THIS, ctx->pool);        cmd_args = &ctx->cmd_args;        if (!cmd_args->brick_port && (!cmd_args->brick_name || !brickname)) {                gf_log ("fsd-mgmt", GF_LOG_DEBUG,                        "portmapper signout arguments not given");                goto out;        }        if (cmd_args->volfile_server_transport &&            !strcmp(cmd_args->volfile_server_transport, "rdma")) {                snprintf (brick_name, sizeof(brick_name), "%s.rdma",                          cmd_args->brick_name);                req.brick = brick_name;        } else {                if (brickname)                        req.brick = brickname;                else                        req.brick = cmd_args->brick_name;        }        req.port  = cmd_args->brick_port;        req.rdma_port = cmd_args->brick_port2;        /* mgmt_submit_request is not available in libglusterfs.         * Need to serialize and submit manually.         */        iobref = iobref_new ();        if (!iobref) {                goto out;        }        xdr_size = xdr_sizeof ((xdrproc_t)xdr_pmap_signout_req, &req);        iobuf = iobuf_get2 (ctx->iobuf_pool, xdr_size);        if (!iobuf) {                goto out;        };        iobref_add (iobref, iobuf);        iov.iov_base = iobuf->ptr;        iov.iov_len  = iobuf_pagesize (iobuf);        /* Create the xdr payload */        ret = xdr_serialize_generic (iov, &req,                                     (xdrproc_t)xdr_pmap_signout_req);        if (ret == -1) {                gf_log (THIS->name, GF_LOG_WARNING,                        "failed to create XDR payload");                goto out;        }        iov.iov_len = ret;        ret = rpc_clnt_submit (ctx->mgmt, &clnt_pmap_signout_prog,                               GF_PMAP_SIGNOUT, mgmt_pmap_signout_cbk,                               &iov, 1,                               NULL, 0, iobref, frame, NULL, 0, NULL, 0, NULL);out:        if (iobref)                iobref_unref (iobref);        if (iobuf)                iobuf_unref (iobuf);        return ret;}
开发者ID:raghavendrabhat,项目名称:glusterfs,代码行数:78,



注:本文中的xdr_serialize_generic函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


C++ xdr_string函数代码示例
C++ xdr_send_uint32函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。