<html dir="ltr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css" style="">
<!--
p
{margin-top:0;
margin-bottom:0}
-->
</style>
</head>
<body dir="ltr" fpstyle="1" ocsi="0">
<div style="direction: ltr;font-family: Tahoma;color: #000000;font-size: 10pt;">Dear Ashlesh,<br>
<div><br>
</div>
<div> Multi-casting works fine! Thanks.<br>
</div>
<div> I will try notification stream as well!</div>
<div><br>
</div>
<div> Also, please let me know when PSync segmentation function is completed. <br>
</div>
<div><br>
</div>
<div>Best wishes,<br>
<div style="font-family:Tahoma; font-size:13px">
<div style="font-family:Tahoma; 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>
</div>
</div>
</div>
<div style="font-family: Times New Roman; color: #000000; font-size: 16px">
<hr tabindex="-1">
<div id="divRpF846676" style="direction: ltr;"><font size="2" face="Tahoma" color="#000000"><b>From:</b> Ashlesh Gawande (agawande) [agawande@memphis.edu]<br>
<b>Sent:</b> Friday, July 27, 2018 11:01 AM<br>
<b>To:</b> Lee, Jongdeog; nfd-dev@lists.cs.ucla.edu<br>
<b>Subject:</b> Re: Push function in NDN<br>
</font><br>
</div>
<div></div>
<div>
<div id="divtagdefaultwrapper" dir="ltr" style="font-size:12pt; color:#000000; font-family:Calibri,Helvetica,sans-serif">
<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://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_named-2Ddata_ndn-2Dcxx_blob_master_src_mgmt_dispatcher.hpp&d=DwMF-g&c=OCIEmEwdEq_aNlsP4fF3gFqSN-E3mlr2t9JcDdfOZag&r=RTtNIB7SLbCEZbcCvc1ADsIJ3mCRR77CzZSVcwLWK6w&m=cLgoPcsB1q1wgZW_n9lycf6-lxC6o1S6eFxkq8Sk-7w&s=wqVzZUWbzW8XiRPc2-pX1prA321QhXTGeuifPXv2HXo&e=" class="OWAAutoLink" id="LPlnk351267" target="_blank" rel="noopener noreferrer">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://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_named-2Ddata_ndn-2Dcxx_blob_master_src_util_notification-2Dsubscriber.hpp&d=DwMF-g&c=OCIEmEwdEq_aNlsP4fF3gFqSN-E3mlr2t9JcDdfOZag&r=RTtNIB7SLbCEZbcCvc1ADsIJ3mCRR77CzZSVcwLWK6w&m=cLgoPcsB1q1wgZW_n9lycf6-lxC6o1S6eFxkq8Sk-7w&s=C5Oi2amwq-ZInBGKGUP8ZsdDrkkoLsXN7ynIJEAokKY&e=" class="OWAAutoLink" id="LPlnk245038" target="_blank" rel="noopener noreferrer">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://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_named-2Ddata_ndn-2Dcxx_blob_master_src_util_notification-2Dsubscriber.hpp-23L49&d=DwMF-g&c=OCIEmEwdEq_aNlsP4fF3gFqSN-E3mlr2t9JcDdfOZag&r=RTtNIB7SLbCEZbcCvc1ADsIJ3mCRR77CzZSVcwLWK6w&m=cLgoPcsB1q1wgZW_n9lycf6-lxC6o1S6eFxkq8Sk-7w&s=QvM5ArRpjJfP_hScIKJnGcicerTdvAxz0i46yUlx5nw&e=" class="OWAAutoLink" id="LPlnk755191" target="_blank" rel="noopener noreferrer">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://urldefense.proofpoint.com/v2/url?u=https-3A__gerrit.named-2Ddata.net_-23_c_PSync_-2B_4824_&d=DwMF-g&c=OCIEmEwdEq_aNlsP4fF3gFqSN-E3mlr2t9JcDdfOZag&r=RTtNIB7SLbCEZbcCvc1ADsIJ3mCRR77CzZSVcwLWK6w&m=cLgoPcsB1q1wgZW_n9lycf6-lxC6o1S6eFxkq8Sk-7w&s=V4w_NEFk4dwCDqyD5k5LdJs9Z3jML-k516bgX9R0puM&e=" class="OWAAutoLink" id="LPlnk328341" target="_blank" rel="noopener noreferrer">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://urldefense.proofpoint.com/v2/url?u=https-3A__redmine.named-2Ddata.net_issues_4662&d=DwMF-g&c=OCIEmEwdEq_aNlsP4fF3gFqSN-E3mlr2t9JcDdfOZag&r=RTtNIB7SLbCEZbcCvc1ADsIJ3mCRR77CzZSVcwLWK6w&m=cLgoPcsB1q1wgZW_n9lycf6-lxC6o1S6eFxkq8Sk-7w&s=NP0ZNAShtfyYKQSOp_GXTbwijrwt6TZ5WUsBLLybB9A&e=" class="OWAAutoLink" id="LPlnk634550" target="_blank" rel="noopener noreferrer">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://urldefense.proofpoint.com/v2/url?u=https-3A__redmine.named-2Ddata.net_projects_psync_issues&d=DwMF-g&c=OCIEmEwdEq_aNlsP4fF3gFqSN-E3mlr2t9JcDdfOZag&r=RTtNIB7SLbCEZbcCvc1ADsIJ3mCRR77CzZSVcwLWK6w&m=cLgoPcsB1q1wgZW_n9lycf6-lxC6o1S6eFxkq8Sk-7w&s=sT3MTs6rXQoMgflMlm4NUaJgz4ivggqwZbtEHEgelec&e=" class="OWAAutoLink" id="LPlnk358294" target="_blank" rel="noopener noreferrer">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 tabindex="-1" style="display:inline-block; width:98%">
<div id="divRplyFwdMsg" dir="ltr"><font style="font-size:11pt" face="Calibri, sans-serif" 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>
<style type="text/css" id="owaParaStyle">
<!--
-->
P {margin-top:0;margin-bottom:0;}</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-logo
{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-content
{padding:11px 20px!important;
padding-top:10px!important;
width:224px}
.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__18bXE
{min-width:180px!important;
margin-top:3px;
z-index:2147483647}
.x__1NrpM
{font-size:10px!important;
color:#9399a7!important;
background:#fff!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;
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-color:transparent;
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-color:transparent;
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__14kMJ
{top:-1px!important}
.x__2FMsU
{top:5px!important;
margin-right:6px!important;
vertical-align:initial!important;
display:inline-block!important}
.x__3M9cy
{background:#fff5c9!important;
padding-bottom:3px!important}
.x__1NRLq
{background:#f4f5f8!important;
padding:5px 0 11px 11px!important}
.x_UwQqi
{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
{padding:0 10px!important;
z-index:1000!important}
.x__1v7bo
{width:360px!important;
max-width:360px!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;
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}
.x__36ZTz
{width:272px!important;
outline:none!important}
.x__36ZTz .x__3mQIn
{font-size:1.1em!important;
font-weight:500!important}
.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__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__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__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_g-selection-anim
{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-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;
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_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-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;
padding-right:10px!important}
.x_gr-grammar-card_replacement-block
{margin-bottom:6px!important}
-->
BODY {direction: ltr;font-family: Tahoma;color: #000000;font-size: 10pt;}</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 size="2" face="Tahoma" 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>
</div>
</div>
</div>
</body>
</html>