diff options
Diffstat (limited to 'xlators/protocol/rpc/rpc-lib/src/rpc-clnt.h')
| -rw-r--r-- | xlators/protocol/rpc/rpc-lib/src/rpc-clnt.h | 166 | 
1 files changed, 0 insertions, 166 deletions
diff --git a/xlators/protocol/rpc/rpc-lib/src/rpc-clnt.h b/xlators/protocol/rpc/rpc-lib/src/rpc-clnt.h deleted file mode 100644 index efc256cd2..000000000 --- a/xlators/protocol/rpc/rpc-lib/src/rpc-clnt.h +++ /dev/null @@ -1,166 +0,0 @@ -/* -  Copyright (c) 2010 Gluster, Inc. <http://www.gluster.com> -  This file is part of GlusterFS. - -  GlusterFS is free software; you can redistribute it and/or modify -  it under the terms of the GNU General Public License as published -  by the Free Software Foundation; either version 3 of the License, -  or (at your option) any later version. - -  GlusterFS is distributed in the hope that it will be useful, but -  WITHOUT ANY WARRANTY; without even the implied warranty of -  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU -  General Public License for more details. - -  You should have received a copy of the GNU General Public License -  along with this program.  If not, see -  <http://www.gnu.org/licenses/>. -*/ - -#ifndef _RPC_CLNT_H -#define _RPC_CLNT_H - -#include "stack.h" -#include "rpc-transport.h" -#include "timer.h" -#include "xdr-common.h" - -typedef enum { -        RPC_CLNT_CONNECT, -        RPC_CLNT_DISCONNECT, -        RPC_CLNT_MSG -} rpc_clnt_event_t; - -#define AUTH_GLUSTERFS  5 - -struct xptr_clnt; -struct rpc_req; -struct rpc_clnt; -struct rpc_clnt_config; -struct rpc_clnt_program; - -typedef int (*rpc_clnt_notify_t) (struct rpc_clnt *rpc, void *mydata, -                                  rpc_clnt_event_t fn, void *data); - -typedef int (*fop_cbk_fn_t) (struct rpc_req *req, struct iovec *iov, int count, -                             void *myframe); - -typedef int (*clnt_fn_t) (call_frame_t *fr, xlator_t *xl, void *args); - -struct saved_frame { -	union { -		struct list_head list; -		struct { -			struct saved_frame *frame_next; -			struct saved_frame *frame_prev; -		}; -	}; -        void                    *capital_this; -	void                    *frame; -	struct timeval           saved_at; -	int32_t                  procnum; -        struct rpc_clnt_program *prog; -        fop_cbk_fn_t             cbkfn; -	uint64_t                 callid; -        rpc_transport_rsp_t      rsp; -}; - -struct saved_frames { -	int64_t            count; -	struct saved_frame sf; -}; - - -/* Initialized by procnum */ -typedef struct rpc_clnt_procedure { -        char         *procname; -        clnt_fn_t     fn; -} rpc_clnt_procedure_t; - -typedef struct rpc_clnt_program { -        char                 *progname; -        int                   prognum; -        int                   progver; -        rpc_clnt_procedure_t *proctable; -        char                **procnames; -        int                   numproc; -} rpc_clnt_prog_t; - -#define RPC_MAX_AUTH_BYTES   400 -typedef struct rpc_auth_data { -        int             flavour; -        int             datalen; -        char            authdata[RPC_MAX_AUTH_BYTES]; -} rpc_auth_data_t; - -#define rpc_auth_flavour(au)    ((au).flavour) - -struct rpc_clnt_connection { -        pthread_mutex_t        lock; -        rpc_transport_t       *trans; -        gf_timer_t            *reconnect; -        gf_timer_t            *timer; -        gf_timer_t            *ping_timer; -        struct rpc_clnt       *rpc_clnt; -        char                   connected; -        struct saved_frames   *saved_frames; -        int32_t                frame_timeout; -	struct timeval         last_sent; -	struct timeval         last_received; -	int32_t                ping_started; -}; -typedef struct rpc_clnt_connection rpc_clnt_connection_t; - -struct rpc_req { -        rpc_clnt_connection_t *conn; -        uint32_t               xid; -        struct iovec           req[2]; -        int                    reqcnt; -        struct iovec           rsp[2]; -        int                    rspcnt; -        struct iobuf          *rsp_prochdr; -        struct iobuf          *rsp_procpayload; -        int                    rpc_status; -        rpc_auth_data_t        verf; -        rpc_clnt_prog_t       *prog; -        int                    procnum; -}; - -struct rpc_clnt { -        pthread_mutex_t        lock; -        rpc_clnt_notify_t      notifyfn; -        rpc_clnt_connection_t  conn; -        void                  *mydata; -        uint64_t               xid; -        glusterfs_ctx_t       *ctx; -}; - -struct rpc_clnt_config { -        int    rpc_timeout; -        int    remote_port; -        char * remote_host; -}; - - -struct rpc_clnt * rpc_clnt_init (struct rpc_clnt_config *config, -                                 dict_t *options, glusterfs_ctx_t *ctx, -                                 char *name); - -int rpc_clnt_register_notify (struct rpc_clnt *rpc, rpc_clnt_notify_t fn, -                              void *mydata); - -int rpc_clnt_submit (struct rpc_clnt *rpc, rpc_clnt_prog_t *prog, -                     int procnum, fop_cbk_fn_t cbkfn, -                     struct iovec *proghdr, int proghdrcount, -                     struct iovec *progpayload, int progpayloadcount, -                     struct iobref *iobref, void *frame); - -void rpc_clnt_destroy (struct rpc_clnt *rpc); - -void rpc_clnt_set_connected (rpc_clnt_connection_t *conn); - -void rpc_clnt_unset_connected (rpc_clnt_connection_t *conn); - -void rpc_clnt_reconnect (void *trans_ptr); - -#endif /* !_RPC_CLNT_H */  | 
