<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<style type="text/css" style="display:none;"><!-- P {margin-top:0;margin-bottom:0;} --></style>
</head>
<body dir="ltr">
<div id="divtagdefaultwrapper" style="font-size:12pt;color:#000000;font-family:Calibri,Helvetica,sans-serif;" dir="ltr">
<p style="margin-top:0;margin-bottom:0">1) You can use the multicast strategy:</p>
<p style="margin-top:0;margin-bottom:0"><span>nfdc strategy set prefix /<span>notificiation</span> strategy /localhost/nfd/strategy/multicast</span></p>
<p style="margin-top:0;margin-bottom:0"><br>
</p>
<p style="margin-top:0;margin-bottom:0">2) Notification stream can be used in applications by using the dispatcher (NFD uses the dispatcher):</p>
<p style="margin-top:0;margin-bottom:0"><a href="https://github.com/named-data/ndn-cxx/blob/master/src/mgmt/dispatcher.hpp" class="OWAAutoLink" id="LPlnk351267" previewremoved="true">https://github.com/named-data/ndn-cxx/blob/master/src/mgmt/dispatcher.hpp</a>.</p>
<p style="margin-top:0;margin-bottom:0">Producer example:</p>
<p style="margin-top:0;margin-bottom:0"><span>(<span>ndn::mgmt::PostNotification</span>) m_postNotification = m_dispatcher.addNotificationStream("insert");  m_dispatcher.addTopPrefix(Name("test"));</span></p>
<p style="margin-top:0;margin-bottom:0"><br>
</p>
<p style="margin-top:0;margin-bottom:0">When producer wants to post a notification:<br>
<span></span></p>
<p style="margin-top:0;margin-bottom:0"><span>m_postNotification(data.wireEncode());</span><br>
</p>
<p style="margin-top:0;margin-bottom:0"><br>
</p>
<p style="margin-top:0;margin-bottom:0">For consumer, use the notification subscriber (I provided Data for the template):</p>
<p style="margin-top:0;margin-bottom:0"><a href="https://github.com/named-data/ndn-cxx/blob/master/src/util/notification-subscriber.hpp" class="OWAAutoLink" id="LPlnk245038" previewremoved="true">https://github.com/named-data/ndn-cxx/blob/master/src/util/notification-subscriber.hpp</a></p>
<p style="margin-top:0;margin-bottom:0">(Note: a crucial requirement I missed when I was using it:</p>
<p style="margin-top:0;margin-bottom:0"><a href="https://github.com/named-data/ndn-cxx/blob/master/src/util/notification-subscriber.hpp#L49" class="OWAAutoLink" id="LPlnk755191" previewremoved="true">https://github.com/named-data/ndn-cxx/blob/master/src/util/notification-subscriber.hpp#L49</a>)<br>
</p>
<p style="margin-top:0;margin-bottom:0"><br>
</p>
<p style="margin-top:0;margin-bottom:0">If you are still looking for pub-sub, PSync library is ready to use:</p>
<p style="margin-top:0;margin-bottom:0"><a href="https://gerrit.named-data.net/#/c/PSync/+/4824/" class="OWAAutoLink" id="LPlnk328341" previewremoved="true">https://gerrit.named-data.net/#/c/PSync/+/4824/</a><br>
</p>
<p style="margin-top:0;margin-bottom:0">I still have to implement segmentation for hello data and sync data for partial sync for bigger sized data. I will do that once the initial code is merge (<a href="https://redmine.named-data.net/issues/4662" class="OWAAutoLink" id="LPlnk634550" previewremoved="true">https://redmine.named-data.net/issues/4662)</a></p>
<p style="margin-top:0;margin-bottom:0">Any issues welcome on the redmine:</p>
<p style="margin-top:0;margin-bottom:0"><a href="https://redmine.named-data.net/projects/psync/issues" class="OWAAutoLink" id="LPlnk358294" previewremoved="true">https://redmine.named-data.net/projects/psync/issues</a><br>
</p>
<p style="margin-top:0;margin-bottom:0"><br>
</p>
<p style="margin-top:0;margin-bottom:0">Ashlesh<br>
</p>
</div>
<hr style="display:inline-block;width:98%" tabindex="-1">
<div id="divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" style="font-size:11pt" color="#000000"><b>From:</b> Nfd-dev <nfd-dev-bounces@lists.cs.ucla.edu> on behalf of Lee, Jongdeog <jlee700@illinois.edu><br>
<b>Sent:</b> Thursday, July 26, 2018 8:32:36 PM<br>
<b>To:</b> nfd-dev@lists.cs.ucla.edu<br>
<b>Subject:</b> [Nfd-dev] Push function in NDN</font>
<div> </div>
</div>
<meta content="text/html; charset=iso-8859-1">
<style type="text/css" id="owaParaStyle"></style><style class="x_gr__style">
<!--
@font-face
        {font-family:'Work Sans';
        font-style:normal;
        font-weight:400}
@font-face
        {font-family:'Work Sans';
        font-style:normal;
        font-weight:500}
@font-face
        {font-family:'Work Sans';
        font-style:normal;
        font-weight:600}
@font-face
        {font-family:'Work Sans';
        font-style:normal;
        font-weight:700}
@font-face
        {font-family:'ProximaNova';
        font-style:normal;
        font-weight:500}
@font-face
        {font-family:'ProximaNova';
        font-style:normal;
        font-weight:400}
@font-face
        {font-family:'Lato';
        font-style:normal;
        font-weight:400}
@font-face
        {font-family:'Lato';
        font-style:normal;
        font-weight:300}
@font-face
        {font-family:'Lato';
        font-style:italic;
        font-weight:400}
@font-face
        {font-family:'Lato';
        font-style:italic;
        font-weight:300}
@font-face
        {font-family:'Lato';
        font-style:normal;
        font-weight:700}
.x_gr__tooltip
        {top:-9999px;
        z-index:2147483647;
        display:inline-block;
        width:240px;
        font-family:"Lato"!important}
.x_gr__tooltip.gr-no-transition
        {}
.x_gr__tooltip-logo
        {background-image:url("data:image/png;base64,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")!important;
        background-repeat:no-repeat!important;
        height:24px;
        width:24px;
        top:17px;
        left:11px}
.x_gr__tooltip-button
        {margin-left:8px!important}
.x_gr__tooltip-button .x_gr__triangle
        {left:-8px}
.x_gr__tooltip-match
        {}
.x_gr__tooltip-content
        {padding:11px 20px!important;
        padding-top:10px!important;
        width:224px;
        display:none}
.x_gr__tooltip.gr__flipped
        {margin-top:12px!important}
.x_gr__tooltip.gr__flipped .x_gr__triangle
        {bottom:100%;
        top:auto;
        top:initial;
        border-top:9px solid transparent!important;
        border-bottom:9px solid #212121!important}
.x_gr__tooltip .x_gr__triangle
        {display:inline-block;
        bottom:initial;
        top:100%;
        width:0;
        height:0;
        border-top:9px solid #212121!important;
        border-left:8px solid transparent!important;
        border-right:8px solid transparent!important}
.x_gr__tooltip.fr-btn-offline-tooltip
        {}
.x_gr__tooltip.fr-btn-offline-tooltip .x_fr-tooltip-title
        {font-weight:bold;
        display:block;
        padding-bottom:10px!important;
        font-size:15px!important}
.x_gr__tooltip.fr-btn-offline-tooltip .x_gr__triangle
        {left:-8px}
.x_gr__tooltip.fr-btn-offline-tooltip .x_gr__tooltip-logo
        {display:none}
.x_gr__tooltip.fr-btn-offline-tooltip .x_gr__tooltip-content
        {display:block;
        padding:20px!important;
        font-size:13px!important}
.x_gr__tooltip.fr-btn-offline-tooltip .x_fr-dialog-br
        {display:block;
        margin-bottom:10px!important}
.x_gr__tooltip.fr-btn-offline-tooltip .x_fr-reload-tab
        {border-bottom:1px solid #fff!important}
.x_gr__tooltip.gr-notfound-tooltip
        {width:auto}
.x_gr__tooltip.gr-notfound-tooltip .x_gr__tooltip-logo
        {display:none}
.x_gr__tooltip.gr-notfound-tooltip .x_gr__triangle
        {border-top-color:#323439!important}
.x_gr__tooltip.gr-notfound-tooltip.gr__flipped
        {margin-top:12px!important}
.x_gr__tooltip.gr-notfound-tooltip.gr__flipped .x_gr__triangle
        {border-top-color:transparent!important;
        border-bottom-color:#323439!important}
.x_gr__tooltip.gr__flipped.fr-btn-offline-tooltip
        {margin-top:15px!important}
.x__18bXE
        {min-width:180px!important;
        margin-top:3px;
        z-index:2147483647}
.x__18bXE._2Ma6G
        {margin-top:1px!important}
.x__18bXE._1qwIu
        {min-width:260px!important}
.x__18bXE._29E5O
        {}
.x__1NrpM
        {font-size:10px!important;
        color:#9399a7!important;
        background:#fff!important;
        border-radius:4px!important;
        min-width:192px;
        max-width:288px;
        display:inline-block;
        overflow:hidden}
.x_cmfON
        {font-size:1.4em!important;
        padding:10px 16px 9px!important;
        line-height:1.4em!important;
        color:#4c5565!important}
.x__2OYqB
        {font-size:1.2em!important;
        font-weight:500!important;
        text-transform:none!important;
        padding-top:6px!important;
        color:#fc5454!important;
        line-height:2.5em!important;
        white-space:nowrap!important}
.x__2OYqB + .x__1LG4w
        {top:-2px!important;
        line-height:3em!important;
        height:auto!important;
        display:inline-block!important}
.x_FzDcj
        {padding:0 16px!important;
        font-size:1.1em!important;
        line-height:1.6em!important;
        margin-bottom:1em!important}
.x_FzDcj b
        {font-weight:600!important;
        padding:2px 4px!important;
        border-radius:2px!important;
        background:#f6f6fa!important;
        color:#4c5565!important}
.x__18mu3 .x__2A8KW .x__1iw59
        {white-space:normal!important;
        line-height:2em!important;
        padding-bottom:5px!important}
.x__1iw59
        {line-height:2.8em!important;
        white-space:nowrap!important;
        padding:0 16px!important}
.x__1LG4w
        {display:inline!important;
        padding-left:25px!important;
        font-weight:500!important;
        font-size:10px!important;
        color:#9399a7!important}
.x__2A8KW
        {margin-bottom:7px!important}
.x__3mQIn
        {line-height:initial;
        white-space:normal;
        text-align:left;
        float:initial;
        clear:none;
        vertical-align:baseline;
        margin:0;
        padding:0;
        border:0;
        color:transparent;
        background-image:none;
        background-position:0% 0%;
        background-size:auto auto;
        background-repeat:repeat;
        background-origin:padding-box;
        background-clip:border-box;
        background-attachment:scroll;
        background-color:transparent;
        border-radius:0;
        font-family:inherit;
        font-size:medium;
        font-style:normal;
        font-variant:normal;
        font-weight:normal;
        visibility:visible;
        position:static;
        overflow:visible;
        text-align:inherit;
        widows:0;
        height:auto;
        width:auto;
        min-width:auto;
        max-width:auto;
        max-height:auto;
        max-height:auto;
        white-space:normal;
        word-spacing:normal;
        z-index:auto;
        color:transparent}
.x__3mQIn div, .x__3mQIn span, .x__3mQIn h1, .x__3mQIn h2, .x__3mQIn h3, .x__3mQIn h4, .x__3mQIn h5, .x__3mQIn h6, .x__3mQIn p, .x__3mQIn a, .x__3mQIn ax_[href], .x__3mQIn img, .x__3mQIn b, .x__3mQIn u, .x__3mQIn i, .x__3mQIn ul, .x__3mQIn li, .x__3mQIn form, .x__3mQIn label, .x__3mQIn canvas, .x__3mQIn footer, .x__3mQIn header, .x__3mQIn nav, .x__3mQIn section, .x__3mQIn inputx_[type="date"], .x__3mQIn inputx_[type="email"], .x__3mQIn inputx_[type="number"], .x__3mQIn inputx_[type="password"], .x__3mQIn inputx_[type="search"], .x__3mQIn inputx_[type="tel"], .x__3mQIn inputx_[type="text"], .x__3mQIn inputx_[type="url"], .x__3mQIn button, .x__3mQIn buttonx_[type="button"], .x__3mQIn buttonx_[type="submit"], .x__3mQIn .x__3mQIn .x__3mQIn 
        {line-height:initial;
        white-space:normal;
        text-align:left;
        float:initial;
        clear:none;
        vertical-align:baseline;
        margin:0;
        padding:0;
        border:0;
        color:transparent;
        background-image:none;
        background-position:0% 0%;
        background-size:auto auto;
        background-repeat:repeat;
        background-origin:padding-box;
        background-clip:border-box;
        background-attachment:scroll;
        background-color:transparent;
        border-radius:0;
        font-family:inherit;
        font-size:medium;
        font-style:normal;
        font-variant:normal;
        font-weight:normal;
        visibility:visible;
        position:static;
        overflow:visible;
        text-align:inherit;
        widows:0;
        height:auto;
        width:auto;
        min-width:auto;
        max-width:auto;
        max-height:auto;
        max-height:auto;
        white-space:normal;
        word-spacing:normal;
        z-index:auto}
.x__3mQIn span
        {display:inline}
.x__3mQIn .x__1iw59
        {line-height:3em!important;
        height:auto!important;
        width:100%!important}
.x_tERfz
        {text-transform:uppercase!important;
        letter-spacing:0.3px!important;
        font-weight:500!important;
        font-size:10px!important;
        color:#9399a7!important}
.x__1ygyV
        {padding-left:40px!important}
.x__1rKSI
        {}
.x__2GqlG
        {}
.x__2GqlG use
        {}
.x__14kMJ
        {top:-1px!important}
.x__14kMJ use
        {}
.x__14kMJ usex_[data-fix="d70af4_ignoreIcon"]
        {}
.x__14kMJ maskx_[data-mask-color="d70af4_ignoreIcon"]
        {}
.x__2FMsU
        {top:5px!important;
        margin-right:6px!important;
        vertical-align:initial!important;
        display:inline-block!important}
.x__1iw59.oDyTk
        {padding-top:2px!important;
        padding-bottom:2px!important;
        line-height:3.2em!important}
.x__3M9cy
        {background:#fff5c9!important;
        padding-bottom:3px!important}
.x__1NRLq
        {background:#f4f5f8!important;
        padding:5px 0 11px 11px!important}
.x__1NRLq._37Jzs
        {}
.x_UwQqi
        {border-radius:2px!important;
        font-size:7px!important;
        color:#fff!important;
        padding:1px 2px 2px 2px!important;
        letter-spacing:0.2px!important;
        font-weight:500!important}
.x__1WaR8
        {display:inline-block!important;
        text-transform:none!important;
        color:#555c6a!important;
        font-size:11px!important;
        padding:5px 0 0 7px!important;
        vertical-align:bottom!important;
        letter-spacing:0!important;
        font-weight:500!important}
.x_pBmav
        {font-size:10px!important;
        color:#9399a7!important;
        line-height:16px!important;
        text-transform:uppercase!important;
        margin:9px 0 0 30px!important;
        letter-spacing:-0.3px!important}
.x__2BW9y
        {text-transform:none!important;
        line-height:1.6em!important;
        font-size:10px!important;
        white-space:normal!important;
        color:#9399a7!important;
        padding-top:14px!important;
        padding-bottom:4px!important}
.x__2_l_V
        {font-weight:bold!important;
        font-weight:bold!important;
        font-size:10px!important;
        text-transform:none!important;
        color:#9399a7!important;
        line-height:1.6em!important;
        white-space:normal!important}
.x__1CUGQ
        {color:#4c5565!important}
.x__3R1EP
        {font-size:1.4em!important;
        line-height:1.5em!important;
        padding-left:40px!important;
        padding-top:15px!important;
        font-weight:500!important}
.x__fIgC
        {padding-left:40px!important;
        line-height:1.5em!important;
        padding-bottom:11px!important;
        font-size:1.1em!important}
.x__3Hx91
        {padding-top:9px!important;
        padding-bottom:5px!important;
        text-transform:uppercase!important;
        letter-spacing:0.3px!important;
        padding-left:40px!important}
.x__1en3h
        {color:#15c49a!important}
.x_RjJU1
        {padding-left:5px!important;
        margin-top:5px!important}
.x__1ZGSY
        {padding-left:5px!important}
.x__25la2
        {font-size:1.2em!important;
        color:#9399a7!important;
        line-height:3.2em!important;
        padding-left:16px!important;
        padding-bottom:7px!important;
        font-weight:500!important}
.x_MsQmr
        {padding-left:16px!important;
        padding-right:10px!important}
.x__3DaUK
        {padding-left:5px!important}
.x__12z2a
        {font-size:1.1em!important;
        line-height:2em!important;
        color:#4c5565!important}
.x__3E-3m
        {color:#b7bbc5!important;
        margin-right:8px!important}
.x__3emOn
        {padding-left:6px!important;
        padding-bottom:17px!important}
.x__1JE8W
        {border-radius:4px!important;
        padding:0 10px!important;
        z-index:1000!important}
.x__1v7bo
        {width:360px!important;
        max-width:360px!important}
.x__1v7bo.J-Wu2
        {width:167px!important;
        max-width:167px!important;
        height:48px!important;
        line-height:48px!important;
        padding-left:24px!important;
        font-size:13px!important;
        color:#3b3e4d!important;
        letter-spacing:0.11px!important}
.x_K-J3T
        {font-size:1.2em!important;
        color:#a6adc9!important;
        letter-spacing:0.1px!important;
        line-height:32px!important;
        margin-bottom:6px!important;
        padding:0 24px!important}
.x__20_V7
        {margin:24px 0px 0 0!important;
        padding:0 24px!important}
.x__-5MSc
        {display:inline-block!important;
        background-color:#15c39a!important;
        font-size:1.8em!important;
        color:#fff!important;
        letter-spacing:0.1px!important;
        text-align:center!important;
        line-height:24px!important;
        border-radius:4px!important;
        margin-right:8px!important;
        margin-bottom:8px!important;
        padding:3px 10px!important}
.x_rR_A2
        {font-size:0.8em!important;
        color:#7e88af!important;
        letter-spacing:0.09px!important;
        line-height:30px!important;
        margin-left:auto!important}
.x__2SslR
        {color:#15c39a!important;
        padding:0 1px!important}
.x__3PVzG
        {font-size:11px!important;
        color:#8189a9!important;
        letter-spacing:0.09px!important}
.x_FfvRw
        {line-height:30px!important;
        background:#f7f8ff!important;
        font-size:1.4em!important;
        padding:0 24px!important}
.x__25w3Y
        {background:transparent!important;
        border:none!important;
        outline:none!important;
        font-size:1em!important;
        color:#3b3e4d!important;
        font-weight:600!important;
        letter-spacing:0.12px!important;
        min-width:140px!important;
        width:auto!important}
.x__1wUqs
        {display:flex!important;
        line-height:34px!important}
.x__2okd1
        {display:flex!important}
.x__2kTaK
        {display:flex!important;
        background:#e4e6f2!important;
        font-size:14px!important;
        color:#1c1e29!important;
        letter-spacing:0.1px!important;
        line-height:24px!important;
        margin-right:6px!important;
        margin-bottom:6px!important;
        padding:2px 11px 3px!important;
        border-radius:25px!important}
.x__36ZTz
        {width:272px!important;
        outline:none!important}
.x__36ZTz .x__3mQIn
        {font-size:1.1em!important;
        font-weight:500!important}
.x__36ZTz._2Ma6G
        {}
.x_q2M20
        {color:#5e6878!important;
        padding:14px 16px 9px!important;
        font-size:1.2em!important;
        line-height:1.6em!important}
.x__19mkn
        {margin-right:2px!important}
.x__2BioG
        {padding-left:13px!important;
        padding-bottom:10px!important;
        line-height:15px!important;
        color:#5e6878!important}
.x__-3jzl
        {color:#b7bbc5!important}
.x__36ZTz a
        {text-decoration:none!important;
        color:#9399a7!important;
        letter-spacing:0.3px!important;
        outline:none!important;
        text-transform:uppercase!important}
.x__3mQIn .x_mlZVQ
        {color:#c9cbd5!important;
        font-size:11px!important}
.x__3mQIn .x_LTDY9
        {top:0!important;
        margin-right:6px!important}
.x__3mQIn .x__3UaGR
        {display:inline-block!important;
        font-size:10px!important;
        vertical-align:top!important;
        margin-top:10px!important}
.x__3mQIn .x__1QYIg
        {height:32px!important;
        line-height:32px!important}
.x__3mQIn .x__1QYIg a
        {padding-left:24px!important}
.x_gr__tooltip.gr-notfound-tooltip.gr__tooltip_empty
        {font-size:10px!important;
        color:#9399a7!important;
        background:#fff!important;
        border-radius:4px!important;
        min-width:192px;
        max-width:288px;
        display:inline-block;
        overflow:hidden;
        min-width:176px!important}
.x_gr__tooltip.gr-notfound-tooltip.gr__tooltip_empty .x_gr__tooltip-content
        {background:#fff!important;
        display:none!important}
.x_gr__tooltip.gr-notfound-tooltip.gr__tooltip_empty .x_gr__tooltip-logo
        {background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxOCIgaGVpZ2h0PSIxOCIgdmlld0JveD0iMCAwIDE4IDE4Ij48ZyBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0xIC0xKSI+PGNpcmNsZSBjeD0iMTAiIGN5PSIxMCIgcj0iOS4wMDgiIGZpbGw9IiMwMEFFODQiLz48cGF0aCBmaWxsPSIjRkZGIiBkPSJNMTEuMzE4IDExLjg0M2MuMDUyLjI5Ny4zMzUuNTA0LjY0LjUwNGguOTYzbC41Ni0uMDc0Yy0uODk1IDEuMjk3LTIuNDM4IDEuODk3LTQuMTMgMS42MzgtMS4zOC0uMjE0LTIuNTY2LTEuMTQtMy4wNjUtMi40MzctMS4xMzQtMi45NDIgMS4wMy01Ljc1IDMuODQtNS43NSAxLjQ2OCAwIDIuNzUuODUyIDMuNDkgMS44ODIuMTkzLjMwNC41OC4zODUuODY0LjE4NS4yNjctLjE4NS4zNDItLjUzMy4xNzgtLjgxNS0xLjAxNC0xLjU3OC0yLjg0LTIuNTkzLTQuOTA2LTIuNDYtMi42NzcuMTkzLTQuODU0IDIuMzctNS4wMDMgNS4wNC0uMTggMy4xMDMgMi4yOTUgNS42MzcgNS4zODIgNS42MzcgMS42MTggMCAzLjA2NS0uNzAzIDQuMDU2LTEuODM3bC0uMTIuNjUydi41ODVjMCAuMzA0LjIxLjU4Ni41MDguNjM3LjM5NS4wNzQuNzM4LS4yMy43MzgtLjYwOHYtMy41MkgxMS45M2MtLjM4LjAwOC0uNjg3LjM1LS42MTIuNzR6Ii8+PC9nPjwvc3ZnPg==")!important;
        background-size:18px!important;
        display:inline-block!important;
        height:18px;
        width:18px;
        top:15px!important;
        left:13px!important}
.x_gr__tooltip.gr-notfound-tooltip.gr__tooltip_empty.gr__flipped
        {margin-top:6px!important}
.x_gr__tooltip.gr-notfound-tooltip.gr__tooltip_empty.gr-notfound-thesaurus .x_gr__tooltip-logo
        {display:none!important}
.x__9EJM3
        {color:#7c8495!important;
        line-height:1.6em!important;
        margin-bottom:0.5em!important;
        padding-top:1em!important;
        font-size:1.2em!important;
        font-weight:400!important}
.x__3V1vk
        {white-space:nowrap!important;
        font-weight:400!important;
        line-height:1.4em!important}
.x_CqeHJ, .x_oIVtG, .x__2aBno, .x__1hgJp .x__3s6VN, .x__3F4SX .x__3s6VN, .x__3q2bI .x__3s6VN
        {}
.x__3q2bI
        {margin-top:10px!important;
        font-weight:300!important}
.x__3q2bI .x__3s6VN
        {font-weight:400!important}
.x__3PXDW
        {color:#4c5565!important}
.x__3s6VN
        {color:#15c49a!important}
.x__3mG9s
        {color:#4c5565!important}
.x__20iAs
        {color:#15c49a!important}
.x__3tf0Q
        {font-size:20px!important;
        font-weight:700!important;
        height:18px!important;
        line-height:0!important;
        top:1px!important}
.x_f5BVR
        {color:#e2534f!important}
.x_EOSY5
        {color:#e2534f!important;
        text-decoration:line-through!important;
        white-space:pre-wrap!important;
        font-weight:500!important}
.x__1dLoO
        {color:#4c5565!important}
.x__38q50
        {padding-right:5px!important;
        text-decoration:none!important}
.x__1lr-c
        {padding-left:5px!important}
.x_Zn97q
        {padding-left:3px!important}
.x__3sepg
        {padding-left:1px!important}
.x__2sXqz
        {padding-left:4px!important}
.x__2JCIo
        {padding-left:3px!important}
.x__35lsr
        {padding-left:4px!important}
.x__3erki
        {padding-left:1px!important}
.x__1CxzD
        {padding-left:1px!important}
.x_NQhg5
        {text-decoration:none}
.x__1bXDc
        {padding-right:0!important}
.x__3tf0Q, .x__38q50
        {font-weight:700!important}
.x__348pk
        {font-size:18px!important;
        margin-left:1px!important}
.x__3mG9s + .x__20iAs, .x__1dLoO + .x_EOSY5, .x_GNypx .x__20iAs._3bzNu
        {font-weight:500!important}
.x__9CB5Q
        {color:#aaa!important;
        font-family:Helvetica;
        padding:0 5px!important;
        display:inline-block;
        top:1px!important}
.x__3zUPi
        {font-weight:bold!important}
.x__1hgJp .x__3PXDW
        {color:#4c5565!important}
.x__1hgJp .x__3s6VN
        {padding-bottom:0.1em!important;
        display:inline-block}
.x__3T5vg
        {padding:0 3px!important;
        color:#b3b3b3!important}
.x_GNypx, .x__3F4SX
        {white-space:normal!important}
.x_GNypx .x__20iAs, .x__3F4SX .x__20iAs
        {font-weight:500!important}
.x__3F4SX
        {margin:0 20px 0.3em 0!important}
.x__1vq50
        {font-weight:300!important}
.x_oIVtG
        {font-size:1.8em!important}
.x_GNypx .x__3cecA
        {padding-top:0.7em!important}
.x_GNypx .x__2ILMl._17a8o
        {display:inline-block;
        white-space:normal;
        word-break:break-word;
        font-size:0.9em!important;
        line-height:2.8em!important}
.x_GNypx .x__2ILMl._17a8o .x_oIVtG
        {display:inline-block}
.x_GNypx .x__2ILMl._17a8o._3cecA
        {padding-top:0!important}
.x_g-selection-anim
        {background:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScxMDAlJyBoZWlnaHQ9JzEwMCUnPjxsaW5lIHgxPSc0JyB5MT0nMTAwJScgeDI9JzEwMCUnIHkyPScxMDAlJyB0cmFuc2Zvcm09J3RyYW5zbGF0ZSgtMS41LCAtMi41KScgc3Ryb2tlLXdpZHRoPSczJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZT0nIzQ4OENDOCcvPjwvc3ZnPgo=")!important;
        z-index:2147483647;
        height:6px!important}
.x_gr-base-card, .x_gr-dictionary-card
        {min-width:360px;
        max-width:450px;
        background-color:#fff!important;
        font:16px/30px 'Lato',sans-serif!important;
        margin-top:16px!important;
        z-index:2147483647;
        outline:none}
.x_gr-base-card_flip, .x_gr-dictionary-card_flip
        {}
.x_gr-base-card_flip .x_gr-base-card_triangle, .x_gr-dictionary-card_flip .x_gr-base-card_triangle, .x_gr-dictionary-card_flip .x_gr-dictionary-card_triangle
        {top:auto;
        bottom:-7px}
.x_gr-base-card_triangle, .x_gr-dictionary-card_triangle
        {content:'';
        background:#fff!important;
        height:14px;
        width:14px;
        top:-7px;
        left:8px}
.x_gr-base-card_title, .x_gr-dictionary-card_title
        {color:#222;
        font:400 19px 'Lato',sans-serif!important;
        white-space:nowrap;
        padding:15px 40px 15px 28px!important;
        overflow:hidden;
        text-overflow:ellipsis}
.x_gr-base-card_title i, .x_gr-dictionary-card_title i
        {color:#999}
.x_gr-base-card_footer, .x_gr-dictionary-card_footer
        {border-top:1px solid #f0f0f0!important;
        letter-spacing:0.05em;
        overflow:hidden;
        line-height:16px!important;
        text-transform:uppercase;
        font-size:10px!important;
        padding:10px 25px!important}
.x_gr-base-card_footer div, .x_gr-dictionary-card_footer div
        {float:left}
.x_gr-base-card_anonymous, .x_gr-dictionary-card_anonymous
        {line-height:16px;
        font-size:12px!important;
        text-transform:none;
        padding:10px 0px!important;
        color:#acacae;
        letter-spacing:0.01em}
.x_gr-base-card_link, .x_gr-dictionary-card_link
        {color:#e2534f!important;
        text-decoration:none!important}
.x_gr-base-card_btn-close, .x_gr-dictionary-card_btn-close
        {float:right!important;
        color:#878787;
        background-repeat:no-repeat;
        padding-right:10px!important}
.x_gr-dictionary-card_content
        {padding:0 28px!important;
        padding-bottom:10px!important;
        counter-reset:__defs}
.x_gr-dictionary-card_item
        {color:#666;
        font-size:14px!important;
        line-height:20px;
        margin-bottom:10px!important}
.x_gr-dictionary-card .x_qualifier
        {color:#c2c2c2;
        font-style:italic}
.x_gr-dictionary-card_empty .x_gr-dictionary-card_title
        {display:none}
.x_gr-dictionary-card_nothing
        {display:block;
        margin-top:25px!important;
        font-size:19px!important}
.x_gr-base-card, .x_gr-grammar-card
        {min-width:360px;
        max-width:450px;
        background-color:#fff!important;
        font:16px/30px 'Lato',sans-serif!important;
        margin-top:16px!important;
        z-index:2147483647;
        outline:none}
.x_gr-base-card_flip, .x_gr-grammar-card_flip
        {}
.x_gr-base-card_flip .x_gr-base-card_triangle, .x_gr-grammar-card_flip .x_gr-base-card_triangle, .x_gr-grammar-card_flip .x_gr-grammar-card_triangle
        {top:auto;
        bottom:-7px}
.x_gr-base-card_triangle, .x_gr-grammar-card_triangle
        {content:'';
        background:#fff!important;
        height:14px;
        width:14px;
        top:-7px;
        left:8px}
.x_gr-base-card_title, .x_gr-grammar-card_title
        {color:#222;
        font:400 19px 'Lato',sans-serif!important;
        white-space:nowrap;
        padding:15px 40px 15px 28px!important;
        overflow:hidden;
        text-overflow:ellipsis}
.x_gr-base-card_title i, .x_gr-grammar-card_title i
        {color:#999}
.x_gr-base-card_footer, .x_gr-grammar-card_footer
        {border-top:1px solid #f0f0f0!important;
        letter-spacing:0.05em;
        overflow:hidden;
        line-height:16px!important;
        text-transform:uppercase;
        font-size:10px!important;
        padding:10px 25px!important}
.x_gr-base-card_footer div, .x_gr-grammar-card_footer div
        {float:left}
.x_gr-base-card_anonymous, .x_gr-grammar-card_anonymous
        {line-height:16px;
        font-size:12px!important;
        text-transform:none;
        padding:10px 0px!important;
        color:#acacae;
        letter-spacing:0.01em}
.x_gr-base-card_link, .x_gr-grammar-card_link
        {color:#e2534f!important;
        text-decoration:none!important}
.x_gr-base-card_btn-close, .x_gr-grammar-card_btn-close
        {float:right!important;
        color:#878787;
        background-repeat:no-repeat;
        padding-right:10px!important}
.x_gr-grammar-card_replacement-block
        {margin-bottom:6px!important}
-->
</style>
<div>
<div style="direction:ltr; font-family:Tahoma; color:#000000; font-size:10pt">
<div style="font-family:Tahoma; font-size:13px">
<div style="font-family:Tahoma; font-size:13px">
<div id="x_divSelDisplay" class="" style="z-index:0; top:-18px; padding-right:15px; padding-bottom:1px; font-family:"Segoe UI",Helvetica,Arial,sans-serif">
<div id="x_divExpSubHdr" style="height:14px; padding-top:7px; width:1126px">
<div id="x_divSubFs" style="left:0px; right:250px">
<div id="x_divFs" style="left:0px; right:0px; color:rgb(102,102,102); font-size:7.5pt">
<div class="x_divTx" style="text-overflow:ellipsis; overflow:hidden; white-space:nowrap">
<span style="text-align:right; color:rgb(0,0,0); font-size:10pt; font-family:Tahoma">Dear NDN folks</span><span style="text-align:right; color:rgb(0,0,0); font-size:10pt; font-family:Tahoma">,</span></div>
</div>
</div>
</div>
</div>
<div id="x_divBdy" class="x_bdyItmPrt" style="font-size:medium; word-wrap:break-word; width:auto; overflow:hidden; top:-5px; padding:0px 15px 15px 0px; clear:both; font-family:"Segoe UI",Helvetica,Arial,sans-serif">
<div dir="ltr"><font face="Tahoma" size="2" color="black"><span dir="ltr" style="font-size:10pt">
<div>  Hope all is well.</div>
<div>  I have a question about a push function (from one publisher to multiple subscribers) in NDN. </div>
<div><br>
</div>
<div>1. It seems the simplest way to implement such function is to send one interest packet to multiple producers. However, NFD only forwards one interest to one producer by default.<br>
</div>
<div>  Is there any way to multicast one interest? <br>
</div>
<div>  For example, if three producers advertise same prefix '/notification' and one consumer issues interest '/notificiation/1', I would like to send the interest to all three producers.<br>
</div>
<div><br>
</div>
<div>2. Junxiao mentioned there is notification stream in NFD that keeps update NFD status info. Is it usable in application layer as well? (like consumer-producer model). If then, is there any example code for that?</div>
<div><br>
</div>
<div>  Thanks for reading!</div>
<div><br>
</div>
<div>Best wishes,<br>
<div><font size="1"><span style="font-size:13px">
<div>Jongdeog Lee (JD)</div>
<div><br>
</div>
<div>------------------------------------------------</div>
<div><i>Ph.D. Student</i></div>
<div><i>Department of Computer Science</i></div>
<div><i>University of Illinois at Urbana-Champaign</i></div>
</span></font></div>
</div>
</span></font></div>
</div>
</div>
</div>
</div>
</div>
</body>
</html>