#ifndef UCP_PROXY_EP_H_
#define UCP_PROXY_EP_H_
#include "ucp_types.h"
#include <uct/api/uct.h>
#include <ucs/type/class.h>
typedef struct ucp_proxy_ep {
uct_ep_t super;
uct_iface_t iface;
ucp_ep_h ucp_ep;
uct_ep_h uct_ep;
int is_owner;
ucp_rsc_index_t rsc_index;
} ucp_proxy_ep_t;
UCS_CLASS_DECLARE(ucp_proxy_ep_t, const uct_iface_ops_t *ops, ucp_ep_h ucp_ep,
uct_ep_h uct_ep, int is_owner);
void ucp_proxy_ep_replace(ucp_proxy_ep_t *proxy_ep);
int ucp_proxy_ep_test(uct_ep_h ep);
uct_ep_h ucp_proxy_ep_extract(uct_ep_h ep);
void ucp_proxy_ep_set_uct_ep(ucp_proxy_ep_t *proxy_ep, uct_ep_h uct_ep,
int is_owner, ucp_rsc_index_t rsc_index);
#endif