12 #include <ovsdb_types.h>
24 int OvsdbClientSession::ovsdb_io_task_id_ = -1;
27 client_idl_(NULL), agent_(agent), manager_(manager), parser_(NULL),
28 connection_time_(
"-") {
51 const u_int8_t *pkt = buf + used;
52 std::size_t pkt_len = len - used;
62 struct jsonrpc_msg *msg = NULL;
69 "Error parsing incoming message: " +
82 struct jsonrpc_msg *reply;
114 SendMsg((u_int8_t *)s, strlen(s));
145 session.set_status(
status());
146 session.set_remote_ip(
remote_ip().to_string());
148 SandeshOvsdbTxnStats sandesh_stats;
153 sandesh_stats.set_txn_failed(stats.
txn_failed);
154 sandesh_stats.set_txn_pending(
client_idl_->pending_txn_count());
155 sandesh_stats.set_pending_send_msg(
158 sandesh_stats.set_txn_initiated(0);
159 sandesh_stats.set_txn_succeeded(0);
160 sandesh_stats.set_txn_failed(0);
161 sandesh_stats.set_txn_pending(0);
162 sandesh_stats.set_pending_send_msg(0);
165 session.set_txn_stats(sandesh_stats);
bool ovsdb_wrapper_json_parser_is_done(const struct json_parser *)
friend class OvsdbClientIdl
std::string connection_time_
struct json * ovsdb_wrapper_json_parser_finish(struct json_parser *)
virtual std::string status()=0
void SendJsonRpc(struct jsonrpc_msg *msg)
virtual uint16_t remote_port() const =0
char * ovsdb_wrapper_jsonrpc_msg_from_json(struct json *, struct jsonrpc_msg **)
virtual Ip4Address remote_ip() const =0
struct jsonrpc_msg * ovsdb_wrapper_jsonrpc_create_reply(struct jsonrpc_msg *msg)
OvsdbClientIdlPtr client_idl_
int GetTaskId(const std::string &name)
bool ovsdb_wrapper_msg_echo_req(struct jsonrpc_msg *msg)
virtual void TriggerClose()=0
struct json * ovsdb_wrapper_jsonrpc_msg_to_json(struct jsonrpc_msg *)
tbb::atomic< bool > idl_inited_
virtual void SendMsg(u_int8_t *buf, std::size_t len)=0
TaskScheduler * task_scheduler() const
void AddSessionInfo(SandeshOvsdbClientSession &session)
virtual const boost::system::error_code & ovsdb_close_reason() const =0
void ovsdb_wrapper_jsonrpc_msg_destroy(struct jsonrpc_msg *msg)
OvsdbClientIdl * client_idl()
char * ovsdb_wrapper_json_to_string(const struct json *, int)
#define OVSDB_SESSION_TRACE(obj, session,...)
struct json_parser * parser_
struct json_parser * ovsdb_wrapper_json_parser_create(int)
void ovsdb_wrapper_json_destroy(struct json *)
virtual ~OvsdbClientSession()
static uint64_t UTCTimestampUsec()
void MessageProcess(const u_int8_t *buf, std::size_t len)
size_t ovsdb_wrapper_json_parser_feed(struct json_parser *, const char *, size_t)
static int ovsdb_io_task_id_
OvsPeerManager * manager_
static std::string UTCUsecToString(uint64_t tstamp)