Feature #3165
closed
Added by Junxiao Shi about 9 years ago.
Updated about 9 years ago.
Description
Implement UnixStreamTransport
for use with LinkService.
The UnixStreamTransport
is a subclass of Transport
that communicates with a local application via a UNIX stream socket.
UnixStreamTransport
is always local.
UnixStreamTransport
is always on-demand, because it's application connecting to NFD. There is no persistent or permanent UnixStreamTransport
.
After implementing UnixStreamTransport
:
- change
UnixStreamChannel
to initialize an LpFace(GenericLinkService+UnixStreamTransport)
in place of UnixStreamFace
- delete old
UnixStreamFace
- Blocked by Task #3088: Refactor Face as LinkService+Transport added
Changes for this issue should be uploaded to feature-lp
branch.
Most code can be adapted from old UnixStreamFace
.
Initialization logic is partially designed in #3088 note-20.
The assignee may decide whether to have a StreamTransport
template that is shared between UnixStreamTransport
and TcpTransport
, or to implement them separately.
- Description updated (diff)
- Blocks Task #3172: Refactor Face: completion added
- Status changed from New to In Progress
- Estimated time changed from 3.00 h to 1.00 h
I prefer to have a StreamTransport template since it is shared between UnixStreamTransport and TcpTransport, reducing the code redundacy.
I would like to use FaceUri in UnixStreamTransport consturctor, it seems that in UnixStreamChannel I can't get access to endpoint.
And How can I deal with StreamFace::deferredClose()?
Thanks!
- Status changed from In Progress to Code review
There is an error, occurs at unix-stream.t.cpp line410, which may cause the loop. And it will evoke the StreamTransport::processErrorCode
. I have checked that the error maybe a null point and it will cause the socket shutdown
(StreamTransport::processErrorCode
, line 171). Do you know how can I solve that?
Thanks!
IIUC the local control header features are not supported by the new LpFace (yet), so I guess the whole UnixStreamFaceLocalControlHeader
test case should be commented out for now.
@Davide
May I comment CorruptedInput
test too? Since it also a test about LocalControlHeader and it causes error.
- Status changed from Code review to Closed
- % Done changed from 0 to 100
- Blocks Task #3305: UnixStreamTransport: test suite improvement added
Also available in: Atom
PDF