/* Ċ Ġ* ĠCopyright Ġ 2 0 1 9 ĠBL K ĠTechnologies ĠLimited Ġ( web 3 labs . com ). Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ċ Ġ* Ġthe ĠLicense . ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ċ Ġ* Ġan Ġ" AS ĠIS " ĠBASIS , ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . ĠSee Ġthe ĠLicense Ġfor Ġthe Ċ Ġ* Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ package Ġio . web 3 j . lib p 2 p . net Ċ Ċ import Ġio . ipfs . mult iform ats . multi addr . Protocol Ċ import Ġio . web 3 j . stream mux . Mux ed Stream Ċ Ċ /** Ċ Ġ* ĠA Ġbi - direction al Ġchannel Ġbetween Ġtwo Ġnodes Ġin Ġthe Ġnetwork . Ġ< p Ġ/> Ċ Ġ* ĠA Ġ[ Network Stream ] Ġis Ġan Ġextension Ġof Ġ[ Mux ed Stream ] Ġthat Ġprovides Ġan Ġidentifying Ċ Ġ* Ġprotocol Ġfor Ġthat Ġstream . Ġ< br Ġ/> Ċ Ġ* ĠOnce Ġa Ġ[ Mux ed Stream ] Ġhas Ġbeen Ġestablished , Ġprotocol Ġneg otiation Ġthen Ġtakes Ġplace Ġand Ġa Ġ[ Network Stream ] Ġis Ġthen Ċ Ġ* Ġcreated Ġonce Ġa Ġprotocol Ġhas Ġbeen Ġ( mut ually ) Ġagreed Ġupon . Ċ Ġ*/ Ċ interface ĠNetwork Stream Ġ: ĠM ux ed Stream Ġ{ ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠThe Ġprotocol Ġthat Ġthis Ġstream Ġruns Ġon . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġval Ġprotocol : ĠProtocol Ċ } Ċ