{"id":52,"date":"2005-09-21T23:55:37","date_gmt":"2005-09-22T06:55:37","guid":{"rendered":"http:\/\/kennyw.com\/indigo\/52"},"modified":"2005-09-21T23:55:37","modified_gmt":"2005-09-22T06:55:37","slug":"back-from-pdc-have-some-code","status":"publish","type":"post","link":"https:\/\/kennyw.com\/?p=52","title":{"rendered":"Back From PDC: Have some code!"},"content":{"rendered":"<p>While <a href=\"http:\/\/pdcbloggers.net\">others<\/a> were able to get a number of blog entries together, I spent the majority of my time at the conference either talking to customers, or in final preparation for my <a href=\"http:\/\/commnet.microsoftpdc.com\/content\/sessionview.aspx?TopicID=9502a96e-8648-4425-b392-446e8344d36f\">talk<\/a> on Channel Extensibility.<\/p>\n<p><img decoding=\"async\" src=\"\/wp-images\/blog\/pigeon.bmp\" alt=\"Messaging over RFC 1149\" class=\"thumbnail\" align=\"right\"\/><a href=\"http:\/\/blogs.msdn.com\/yassers\/\">Yasser<\/a> and I went through the basics of extending the <a href=\"http:\/\/kennyw.com\/indigo\/14\">channel layer<\/a> to write a custom transport and a custom layered channel.  I walked through writing a custom TCP-based transport channel.  I then adapted that channel to interop with <a href=\"http:\/\/www.microsoft.com\/downloads\/details.aspx?FamilyId=2896249A-D107-4F19-B8E7-B01DA67A5C02&#038;displaylang=en\">WSE 3.0 Beta<\/a>.  I&#8217;ve posted the code (along with a brief README) <a href=\"http:\/\/kennyw.com\/wp-content\/indigo\/TcpSample.zip\">here<\/a>.  As time permits I&#8217;ll walkthrough the important pieces in future posts.<\/p>\n<p>Yasser covered writing a custom layered channel (also called a &#8220;protocol channel&#8221;).  He wrote a &#8220;chunking channel&#8221; that allowed you to fragment a Message into a number of smaller messages (the maximum size of which is controlled through a quota). These chunks would get reassembled on the receiving side, which then enables streaming scenarios over buffered transports.  Other implications include that you can use WS-Security (and WS-RM) in conjunction with chunking to reliably and securely stream data over any transport. Very powerful.  Code for the chunking channel to be posted in the next few days.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>While others were able to get a number of blog entries together, I spent the majority of my time at the conference either talking to customers, or in final preparation for my talk on Channel Extensibility. Yasser and I went through the basics of extending the channel layer to write a custom transport and a [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[11],"tags":[],"class_list":["post-52","post","type-post","status-publish","format-standard","hentry","category-indigo"],"_links":{"self":[{"href":"https:\/\/kennyw.com\/index.php?rest_route=\/wp\/v2\/posts\/52","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kennyw.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kennyw.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kennyw.com\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/kennyw.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=52"}],"version-history":[{"count":0,"href":"https:\/\/kennyw.com\/index.php?rest_route=\/wp\/v2\/posts\/52\/revisions"}],"wp:attachment":[{"href":"https:\/\/kennyw.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=52"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/kennyw.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=52"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kennyw.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=52"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}