X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=include%2Frconn.h;h=223e43266dd5462003b905ca7de202708bb15be1;hb=57d52057650716ee354ebbe588d2a884ccabc81f;hp=67356862cf1cbc694498a1555a62af79baff2043;hpb=4532f9cdfb2bec50f413164b5cb5e7fdbd7d22be;p=sliver-openvswitch.git diff --git a/include/rconn.h b/include/rconn.h index 67356862c..223e43266 100644 --- a/include/rconn.h +++ b/include/rconn.h @@ -53,26 +53,43 @@ struct vconn; -struct rconn *rconn_new(const char *name, int txq_limit, - int inactivity_probe_interval); -struct rconn *rconn_new_from_vconn(const char *name, int txq_limit, - struct vconn *); +struct rconn *rconn_new(const char *name, + int inactivity_probe_interval, int max_backoff); +struct rconn *rconn_new_from_vconn(const char *name, struct vconn *); +struct rconn *rconn_create(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 *); 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 *); +int rconn_send(struct rconn *, struct buffer *, int *n_queued); +int rconn_send_with_limit(struct rconn *, struct buffer *, + int *n_queued, int queue_limit); unsigned int rconn_packets_sent(const struct rconn *); +unsigned int rconn_packets_received(const struct rconn *); + +void rconn_add_monitor(struct rconn *, struct vconn *); 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 *); +const char *rconn_get_state(const struct rconn *); +unsigned int rconn_get_attempted_connections(const struct rconn *); +unsigned int rconn_get_successful_connections(const struct rconn *); +time_t rconn_get_last_connection(const struct rconn *); +time_t rconn_get_creation_time(const struct rconn *); +unsigned long int rconn_get_total_time_connected(const struct rconn *); +int rconn_get_backoff(const struct rconn *); +unsigned int rconn_get_state_elapsed(const struct rconn *); + #endif /* rconn.h */