Actions
Bug #1785
openFace: transport is never paused after pushing Data
Status:
New
Priority:
Normal
Assignee:
-
Category:
Base
Target version:
-
Start date:
Due date:
% Done:
0%
Estimated time:
Description
Steps to reproduce:
- modify ndn-cxx
transport/unix-transport.cpp
, print a message inUnixTransport::pause
run the following snippet:
Face face; KeyChain keyChain; auto data = make_shared<Data>("/B"); keyChain.sign(*data, signingWithSha256()); face.put(*data); face.processEvents();
Expected: log indicates UnixTransport::pause
is invoked after pushing Data
Actual: UnixTransport::pause
is never invoked
When no incoming transmission is expected (no registered prefix and no pending Interest), the transport should be put in paused state, where asynchronous send and receive operations are cancelled on the socket.
However, when a face is used in the above manner, the pause condition is not met due to improper design.
Actions