Reader Task for Xmpp Session
Affects | Status | Importance | Assigned to | Milestone | ||
---|---|---|---|---|---|---|
Juniper Openstack | ||||||
Trunk |
New
|
Wishlist
|
Nipa |
Bug Description
Two Xmpp Session Reader Tasks for the same session cannot run in parallel as we read date from tcp socket and save the regexed buffers and read pointers.
Even if two reader sessions are scheduled ensure they do not run in parallel by setting the GetSessionInsta
Note this change is needed for XmppConnection:
int GetIndex() const { if (state_
// remote endpoint port determines the reader task instance id, //session-
// so two tasks with same remote port cannot run in parallel. state_machine-
// This ensures only one task will run OnRead on a session. "Open Confirm");
// return transit<
// Note for an xmpp client the remote port will be the same for } else {
// various xmpp servers, so the limitation on client side is we connection-
// will have only one reader task executing at a time. state_machine-
// return endpoint_.port(); "Established");
return 0; return transit<
}
Additionally, add the "AsyncReadStart" unconditionally while sending OpenConfirm to simulate two tasks for the same session.
Run all tests and ensure this works - TODO
Changed in juniperopenstack: | |
importance: | Undecided → Wishlist |
assignee: | nobody → Nipa (nipak) |
information type: | Proprietary → Public |
tags: | added: contrail-control |
no longer affects: | juniperopenstack |