Feature #3165
closedUnixStreamTransport
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 permanentUnixStreamTransport
.
After implementing UnixStreamTransport
:
- change
UnixStreamChannel
to initialize anLpFace(GenericLinkService+UnixStreamTransport)
in place ofUnixStreamFace
- delete old
UnixStreamFace
Updated by Junxiao Shi over 9 years ago
- Blocked by Task #3088: Refactor Face as LinkService+Transport added
Updated by Junxiao Shi over 9 years ago
- Related to Feature #3166: TcpTransport added
Updated by Junxiao Shi over 9 years ago
- Assignee set to Yukai Tu
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.
Updated by Davide Pesavento over 9 years ago
- Related to Feature #1672: UnixSeqPacketTransport added
Updated by Junxiao Shi over 9 years ago
- Blocks Task #3172: Refactor Face: completion added
Updated by Junxiao Shi over 9 years ago
- Related to Feature #2930: Face: send and receive NACK added
Updated by Yukai Tu over 9 years ago
- Status changed from New to In Progress
- Estimated time changed from 3.00 h to 1.00 h
Updated by Yukai Tu over 9 years ago
I prefer to have a StreamTransport template since it is shared between UnixStreamTransport and TcpTransport, reducing the code redundacy.
Updated by Yukai Tu over 9 years ago
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!
Updated by Yukai Tu over 9 years ago
- Status changed from In Progress to Code review
Updated by Yukai Tu over 9 years ago
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!
Updated by Davide Pesavento over 9 years ago
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.
Updated by Yukai Tu over 9 years ago
@Davide
May I comment CorruptedInput
test too? Since it also a test about LocalControlHeader and it causes error.
Updated by Junxiao Shi about 9 years ago
- Status changed from Code review to Closed
- % Done changed from 0 to 100
Updated by Junxiao Shi about 9 years ago
- Blocks Task #3305: UnixStreamTransport: test suite improvement added