Editing Mod Multi Packet
From EMule Wiki
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> | |
[hash128 16] // FileHash | [hash128 16] // FileHash | ||
Entries till data end: | Entries till data end: | ||
Line 11: | Line 19: | ||
Next Entry: | Next Entry: | ||
... | ... | ||
− | + | </pre> | |
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 | + | 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 Extended 4 way file reask ping looks like following: | The Extended 4 way file reask ping looks like following: | ||
− | + | <pre> | |
A B | A B | ||
− | FR_PING --- | + | FR_PING ---> // this step may be done over a Kad buddy !!! |
− | + | <--- FR_PING_ACK | |
− | MOD_MP --- | + | MOD_MP ---> |
− | + | <--- MOD_MP_ANS | |
− | + | </pre> | |
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 | + | Note: Support for the "Extended 4 way file reask ping" 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> | |
[uint16 2] count // PartCount | [uint16 2] count // PartCount | ||
[bitField count/8] // bit encoded status informations | [bitField count/8] // bit encoded status informations | ||
− | + | </pre> | |
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> | |
[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> | |
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= | + | {| style="font-size: 85%; text-align: Left;Border="1"; |
! rowspan=2 | NAME | ! rowspan=2 | NAME | ||
! rowspan=2 | VALUE | ! rowspan=2 | VALUE |