Hex Artifact Content
Not logged in

Artifact 2918807851c44727a7e3ef45786ba799fb90f6f0:

Wiki page [Application Example: Silktorrent Package Manager] by martin_vahi on 2016-07-01 08:20:52.
0000: 44 20 32 30 31 36 2d 30 37 2d 30 31 54 30 38 3a  D 2016-07-01T08:
0010: 32 30 3a 35 32 2e 39 33 30 0a 4c 20 41 70 70 6c  20:52.930.L Appl
0020: 69 63 61 74 69 6f 6e 5c 73 45 78 61 6d 70 6c 65  ication\sExample
0030: 3a 5c 73 53 69 6c 6b 74 6f 72 72 65 6e 74 5c 73  :\sSilktorrent\s
0040: 50 61 63 6b 61 67 65 5c 73 4d 61 6e 61 67 65 72  Package\sManager
0050: 0a 50 20 38 39 35 62 32 38 62 37 31 32 62 31 61  .P 895b28b712b1a
0060: 35 61 31 36 37 35 39 66 64 32 63 35 62 37 38 30  5a16759fd2c5b780
0070: 35 30 30 34 31 64 35 39 31 65 37 0a 55 20 6d 61  50041d591e7.U ma
0080: 72 74 69 6e 5f 76 61 68 69 0a 57 20 31 34 38 33  rtin_vahi.W 1483
0090: 0a 3c 68 31 20 73 74 79 6c 65 3d 22 74 65 78 74  .<h1 style="text
00a0: 2d 61 6c 69 67 6e 3a 20 6c 65 66 74 3b 22 3e 54  -align: left;">T
00b0: 68 65 20 43 6f 72 65 20 49 64 65 61 3c 2f 68 31  he Core Idea</h1
00c0: 3e 0a 0a 3c 70 3e 49 66 20 74 68 65 20 73 69 6c  >..<p>If the sil
00d0: 6b 74 6f 72 72 65 6e 74 20 70 61 63 6b 65 74 20  ktorrent packet 
00e0: 69 73 20 61 20 74 61 72 2d 66 69 6c 65 20 74 68  is a tar-file th
00f0: 61 74 20 63 6f 6e 74 61 69 6e 73 20 66 6f 6c 64  at contains fold
0100: 65 72 73 26 6e 62 73 70 3b 3c 2f 70 3e 0a 0a 3c  ers&nbsp;</p>..<
0110: 70 3e 3c 62 3e 70 61 79 6c 6f 61 64 3c 2f 62 3e  p><b>payload</b>
0120: 3c 2f 70 3e 0a 0a 3c 70 3e 3c 62 3e 68 65 61 64  </p>..<p><b>head
0130: 65 72 3c 2f 62 3e 3c 2f 70 3e 0a 0a 3c 70 3e 74  er</b></p>..<p>t
0140: 68 65 6e 20 74 68 65 20 63 6f 6e 74 65 6e 74 20  hen the content 
0150: 6f 66 20 74 68 65 20 66 6f 6c 64 65 72 73 20 70  of the folders p
0160: 61 79 6c 6f 61 64 20 61 6e 64 20 68 65 61 64 65  ayload and heade
0170: 72 20 63 61 6e 20 62 65 20 72 65 66 65 72 65 6e  r can be referen
0180: 63 65 64 20 62 79 0a 75 73 69 6e 67 20 74 68 65  ced by.using the
0190: 0a 3c 61 20 68 72 65 66 3d 22 68 74 74 70 3a 2f  .<a href="http:/
01a0: 2f 62 69 74 72 61 72 79 2e 73 6f 66 74 66 31 2e  /bitrary.softf1.
01b0: 63 6f 6d 2f 69 6e 64 65 78 2e 70 68 70 3f 74 69  com/index.php?ti
01c0: 74 6c 65 3d 41 72 74 5f 3a 5f 53 6f 75 72 63 65  tle=Art_:_Source
01d0: 5f 43 6f 64 65 23 54 72 65 65 5f 45 6e 63 6f 64  _Code#Tree_Encod
01e0: 69 6e 67 22 3e 74 72 65 65 0a 65 6e 63 6f 64 69  ing">tree.encodi
01f0: 6e 67 3c 2f 61 3e 3a 3c 2f 70 3e 0a 0a 3c 70 3e  ng</a>:</p>..<p>
0200: 3c 62 3e 26 6c 74 3b 74 61 72 2d 66 69 6c 65 20  <b>&lt;tar-file 
0210: 6e 61 6d 65 26 67 74 3b 2f 70 61 79 6c 6f 61 64  name&gt;/payload
0220: 2f 26 6c 74 3b 74 68 65 20 66 69 6c 65 20 6f 72  /&lt;the file or
0230: 20 66 6f 6c 64 65 72 20 72 65 6c 61 74 69 76 65   folder relative
0240: 20 74 6f 20 74 68 65 0a 66 6f 6c 64 65 72 20 70   to the.folder p
0250: 61 79 6c 6f 61 64 26 67 74 3b 3c 2f 62 3e 3c 2f  ayload&gt;</b></
0260: 70 3e 0a 0a 3c 70 3e 3c 62 3e 26 6c 74 3b 74 61  p>..<p><b>&lt;ta
0270: 72 2d 66 69 6c 65 20 6e 61 6d 65 26 67 74 3b 2f  r-file name&gt;/
0280: 68 65 61 64 65 72 2f 26 6c 74 3b 74 68 65 20 66  header/&lt;the f
0290: 69 6c 65 20 6f 72 20 66 6f 6c 64 65 72 20 72 65  ile or folder re
02a0: 6c 61 74 69 76 65 20 74 6f 20 74 68 65 0a 66 6f  lative to the.fo
02b0: 6c 64 65 72 20 68 65 61 64 65 72 26 67 74 3b 3c  lder header&gt;<
02c0: 2f 62 3e 3c 62 72 3e 0a 3c 2f 70 3e 0a 0a 3c 70  /b><br>.</p>..<p
02d0: 3e 54 68 65 26 6e 62 73 70 3b 26 6c 74 3b 74 61  >The&nbsp;&lt;ta
02e0: 72 2d 66 69 6c 65 20 6e 61 6d 65 26 67 74 3b 20  r-file name&gt; 
02f0: 63 61 6e 20 62 65 20 61 6c 73 6f 20 61 20 6e 61  can be also a na
0300: 6d 65 20 6f 66 20 61 20 6c 6f 63 61 6c 20 66 6f  me of a local fo
0310: 6c 64 65 72 20 6f 72 20 73 6f 6d 65 0a 66 6f 6c  lder or some.fol
0320: 64 65 72 20 61 74 20 73 6f 6d 65 20 70 75 62 6c  der at some publ
0330: 69 63 6c 79 20 68 6f 73 74 65 64 20 77 65 62 20  icly hosted web 
0340: 70 61 67 65 2e 20 54 68 65 20 69 6e 63 6c 75 64  page. The includ
0350: 65 2f 72 65 71 75 69 72 65 2f 73 72 63 2f 75 73  e/require/src/us
0360: 65 73 0a 73 74 61 74 65 6d 65 6e 74 73 20 6f 66  es.statements of
0370: 20 76 61 72 69 6f 75 73 20 70 72 6f 67 72 61 6d   various program
0380: 6d 69 6e 67 20 6c 61 6e 67 75 61 67 65 73 20 61  ming languages a
0390: 6e 64 20 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e  nd configuration
03a0: 73 20 66 69 6c 65 73 2c 20 69 6e 63 6c 75 64 69  s files, includi
03b0: 6e 67 0a 48 54 4d 4c 2c 20 63 61 6e 20 62 65 20  ng.HTML, can be 
03c0: 6d 6f 64 69 66 69 65 64 20 62 79 20 63 68 61 6e  modified by chan
03d0: 67 69 6e 67 20 74 68 65 20 70 66 65 66 69 78 20  ging the pfefix 
03e0: 6f 66 20 74 68 65 20 26 6c 74 3b 74 61 72 2d 66  of the &lt;tar-f
03f0: 69 6c 65 20 6e 61 6d 65 26 67 74 3b 2e 20 54 68  ile name&gt;. Th
0400: 61 74 0a 61 6c 6c 6f 77 73 20 61 6e 20 48 54 4d  at.allows an HTM
0410: 4c 2d 70 61 67 65 20 74 6f 20 62 65 20 73 77 69  L-page to be swi
0420: 74 63 68 65 64 20 66 72 6f 6d 20 75 73 69 6e 67  tched from using
0430: 20 4a 61 76 61 53 63 72 69 70 74 20 6c 69 62 72   JavaScript libr
0440: 61 72 69 65 73 20 66 72 6f 6d 20 6f 6e 65 0a 73  aries from one.s
0450: 69 74 65 20 74 6f 20 75 73 69 6e 67 20 74 68 65  ite to using the
0460: 20 76 65 72 79 20 73 61 6d 65 20 4a 61 76 61 53   very same JavaS
0470: 63 72 69 70 74 20 6c 69 62 72 61 72 69 65 73 20  cript libraries 
0480: 66 72 6f 6d 20 61 6e 6f 74 68 65 72 20 73 69 74  from another sit
0490: 65 2e 3c 2f 70 3e 0a 0a 3c 70 3e 3c 62 3e 68 74  e.</p>..<p><b>ht
04a0: 74 70 3a 2f 2f 77 77 77 2e 66 69 72 73 74 5f 73  tp://www.first_s
04b0: 69 74 65 2e 63 6f 6d 2f 3c 2f 62 3e 26 6c 74 3b  ite.com/</b>&lt;
04c0: 74 61 72 2d 66 69 6c 65 20 6e 61 6d 65 26 67 74  tar-file name&gt
04d0: 3b 2f 70 61 79 6c 6f 61 64 2f 74 68 65 5f 4a 61  ;/payload/the_Ja
04e0: 76 61 53 63 72 69 70 74 5f 6c 69 62 72 61 72 79  vaScript_library
04f0: 2e 6a 73 3c 62 72 3e 0a 3c 2f 70 3e 0a 0a 3c 70  .js<br>.</p>..<p
0500: 3e 3c 62 3e 68 74 74 70 3a 2f 2f 77 77 77 2e 73  ><b>http://www.s
0510: 65 63 6f 6e 64 5f 73 69 74 65 2e 63 6f 6d 2f 3c  econd_site.com/<
0520: 2f 62 3e 26 6c 74 3b 74 61 72 2d 66 69 6c 65 20  /b>&lt;tar-file 
0530: 6e 61 6d 65 26 67 74 3b 2f 70 61 79 6c 6f 61 64  name&gt;/payload
0540: 2f 74 68 65 5f 4a 61 76 61 53 63 72 69 70 74 5f  /the_JavaScript_
0550: 6c 69 62 72 61 72 79 2e 6a 73 3c 62 72 3e 0a 3c  library.js<br>.<
0560: 2f 70 3e 0a 0a 3c 70 3e 44 75 65 20 74 6f 20 74  /p>..<p>Due to t
0570: 68 65 20 70 6f 73 73 69 62 69 6c 69 74 79 20 74  he possibility t
0580: 6f 20 75 73 65 20 72 65 67 75 6c 61 72 20 65 78  o use regular ex
0590: 70 72 65 73 73 69 6f 6e 73 2c 20 74 68 61 74 20  pressions, that 
05a0: 73 6f 6c 75 74 69 6f 6e 20 64 6f 65 73 20 6e 6f  solution does no
05b0: 74 0a 72 65 71 75 69 72 65 20 63 6f 64 65 20 67  t.require code g
05c0: 65 6e 65 72 61 74 69 6f 6e 2e 20 49 74 20 6d 69  eneration. It mi
05d0: 67 68 74 20 62 65 20 65 76 65 6e 20 75 73 61 62  ght be even usab
05e0: 6c 65 20 77 69 74 68 20 6d 61 6e 79 20 65 78 69  le with many exi
05f0: 73 74 69 6e 67 20 49 44 45 2d 73 0a 77 69 74 68  sting IDE-s.with
0600: 6f 75 74 20 72 65 71 75 69 72 69 6e 67 20 61 6e  out requiring an
0610: 79 20 61 64 64 69 74 69 6f 6e 61 6c 20 74 6f 6f  y additional too
0620: 6c 73 2e 20 54 68 65 20 73 6f 6c 75 74 69 6f 6e  ls. The solution
0630: 20 69 73 20 61 6c 73 6f 20 70 72 6f 67 72 61 6d   is also program
0640: 6d 69 6e 67 0a 6c 61 6e 67 75 61 67 65 20 61 67  ming.language ag
0650: 6e 6f 73 74 69 63 2e 3c 2f 70 3e 0a 0a 5a 20 62  nostic.</p>..Z b
0660: 30 65 30 64 35 39 30 30 63 65 61 31 66 39 34 31  0e0d5900cea1f941
0670: 34 63 30 62 36 66 65 64 36 36 64 33 38 37 64 0a  4c0b6fed66d387d.