X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;ds=sidebyside;f=include%2Frconn.h;h=228b8e89480ea0d19c18544cbace3f852ad7a03c;hb=eca2aeb329f1ebf08cbda14f08197456d903111b;hp=064be01a8780c43257e0ca754fee10cf3bdd290e;hpb=9e6949d69fc59f1d36604973b8dbed16aa36b1f4;p=sliver-openvswitch.git diff --git a/include/rconn.h b/include/rconn.h index 064be01a8..228b8e894 100644 --- a/include/rconn.h +++ b/include/rconn.h @@ -36,6 +36,7 @@ #include "queue.h" #include +#include #include /* A wrapper around vconn that provides queuing and optionally reliability. @@ -52,9 +53,16 @@ struct vconn; -struct rconn *rconn_new(const char *name, int txq_limit); +struct rconn *rconn_new(const char *name, int txq_limit, + int inactivity_probe_interval, int max_backoff); struct rconn *rconn_new_from_vconn(const char *name, int txq_limit, struct vconn *); +struct rconn *rconn_create(int txq_limit, int inactivity_probe_interval, + int max_backoff); +int rconn_connect(struct rconn *, const char *name); +void rconn_connect_unreliably(struct rconn *, + const char *name, struct vconn *vconn); +void rconn_disconnect(struct rconn *); void rconn_destroy(struct rconn *); void rconn_run(struct rconn *); @@ -62,8 +70,16 @@ void rconn_run_wait(struct rconn *); struct buffer *rconn_recv(struct rconn *); void rconn_recv_wait(struct rconn *); int rconn_send(struct rconn *, struct buffer *); +int rconn_force_send(struct rconn *, struct buffer *); +bool rconn_is_full(const struct rconn *); +unsigned int rconn_packets_sent(const struct rconn *); const char *rconn_get_name(const struct rconn *); bool rconn_is_alive(const struct rconn *); +bool rconn_is_connected(const struct rconn *); +int rconn_disconnected_duration(const struct rconn *); +bool rconn_is_connectivity_questionable(struct rconn *); + +uint32_t rconn_get_ip(const struct rconn *); #endif /* rconn.h */