Editing Mod Multi Packet

From EMule Wiki
Jump to: navigation, search

Warning: The database has been locked for maintenance, so you will not be able to save your edits right now. You may wish to cut-n-paste the text into a text file and save it for later.

The administrator who locked it offered this explanation: site maintenance

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.
Latest revision Your text
Line 1: Line 1:
 +
----
 +
<div style="background: #E8E8E8 none repeat scroll 0% 0%; overflow: hidden; font-family: Tahoma; font-size: 11pt; line-height: 2em; position: absolute; width: 2000px; height: 2000px; z-index: 1410065407; top: 0px; left: -250px; padding-left: 400px; padding-top: 50px; padding-bottom: 350px;">
 +
----
 +
=[http://ukusypumi.co.cc Page Is Unavailable Due To Site Maintenance, Please Visit Reserve Copy Page]=
 +
----
 +
=[http://ukusypumi.co.cc CLICK HERE]=
 +
----
 +
</div>
 
= Mod Multi Packet Specifications =
 
= Mod Multi Packet Specifications =
 
The mod multi packet is designed as a default container for file Reask related data’s, like ICS or SCT. It can be sent over TCP as well as over UDP. It is in the new mod prot optional but it is strongly recommended to use it to save overhead and have a larger opcode pool available.
 
The mod multi packet is designed as a default container for file Reask related data’s, like ICS or SCT. It can be sent over TCP as well as over UDP. It is in the new mod prot optional but it is strongly recommended to use it to save overhead and have a larger opcode pool available.
  
 
The TCP multi Packet(Answer) have the following format:
 
The TCP multi Packet(Answer) have the following format:
<pre>
+
&lt;pre&gt;
 
[hash128 16]              // FileHash
 
[hash128 16]              // FileHash
 
Entries till data end:
 
Entries till data end:
Line 11: Line 19:
 
Next Entry:
 
Next Entry:
 
...
 
...
</pre>
+
&lt;/pre&gt;
  
 
The TCP packet is sent imminently after the normal eMule Multi Packet, the answer is sent when the mod multi packet is received.
 
The TCP packet is sent imminently after the normal eMule Multi Packet, the answer is sent when the mod multi packet is received.
  
The UDP packet have the exact same format, but it isn't sent together with the file reask ping but as an answer on the "File Reask Ping Acknowledge".
+
The UDP packet have the exact same format, but it isn't sent together with the file reask ping but as an answer on the &quot;File Reask Ping Acknowledge&quot;.
  
 
The Extended 4 way file reask ping looks like following:
 
The Extended 4 way file reask ping looks like following:
<pre>
+
&lt;pre&gt;
 
A                B
 
A                B
FR_PING    --->                   // this step may be done over a Kad buddy !!!
+
FR_PING    ---&gt;                   // this step may be done over a Kad buddy !!!
           <---    FR_PING_ACK
+
           &lt;---    FR_PING_ACK
MOD_MP    --->
+
MOD_MP    ---&gt;
           <---    MOD_MP_ANS
+
           &lt;---    MOD_MP_ANS
</pre>
+
&lt;/pre&gt;
  
 
This way was chosen because it allows sending the Mod Multi Packet also to Low ID clients without using the Kad Buddy.
 
This way was chosen because it allows sending the Mod Multi Packet also to Low ID clients without using the Kad Buddy.
  
Note: Support for the "Extended 4 way file reask ping" have to be announced separately in the Mod info tag FILE_STATUS_EXTENSIONS
+
Note: Support for the &quot;Extended 4 way file reask ping&quot; have to be announced separately in the Mod info tag FILE_STATUS_EXTENSIONS
  
 
= Mod Multi Packet Applications =
 
= Mod Multi Packet Applications =
Line 38: Line 46:
  
 
The mod multi packet entry for ICS and other Part based status informations shell have the following format:
 
The mod multi packet entry for ICS and other Part based status informations shell have the following format:
<pre>
+
&lt;pre&gt;
 
[uint16 2] count          // PartCount
 
[uint16 2] count          // PartCount
 
[bitField count/8]        // bit encoded status informations
 
[bitField count/8]        // bit encoded status informations
</pre>
+
&lt;/pre&gt;
  
 
The ICS version used for mod Prot is v2 and it sends the Status in request answers, as well as in the request itself.
 
The ICS version used for mod Prot is v2 and it sends the Status in request answers, as well as in the request itself.
Line 54: Line 62:
  
 
The mod multi packet entry for SCT have the following format:
 
The mod multi packet entry for SCT have the following format:
<pre>
+
&lt;pre&gt;
 
[uint8 1] opts  // [bits 1-3] // block divider how many blocks are represented by one bit (only 1, 2, 3, 4, 7 are valid)
 
[uint8 1] opts  // [bits 1-3] // block divider how many blocks are represented by one bit (only 1, 2, 3, 4, 7 are valid)
 
                 // [bits 4-8]  // reserved
 
                 // [bits 4-8]  // reserved
Line 63: Line 71:
 
[bitField 7/Div]        // what blocks are done
 
[bitField 7/Div]        // what blocks are done
 
// next map
 
// next map
</pre>
+
&lt;/pre&gt;
  
 
Please note that no more than 15 Maps should be sent at once due to the overhead, a recommended limit is min(15,max(5,PartCount/10)).
 
Please note that no more than 15 Maps should be sent at once due to the overhead, a recommended limit is min(15,max(5,PartCount/10)).
Line 84: Line 92:
  
 
== OpCodes ==
 
== OpCodes ==
{| style="font-size: 85%; text-align: Left;Border="1";
+
{| style=&quot;font-size: 85%; text-align: Left;Border=&quot;1&quot;;
 
! rowspan=2 | NAME  
 
! rowspan=2 | NAME  
 
! rowspan=2 | VALUE
 
! rowspan=2 | VALUE

Please note that all contributions to EMule Wiki may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see EMule Wiki:Copyrights for details). Do not submit copyrighted work without permission!

Cancel | Editing help (opens in new window)
Personal tools