Difference between revisions of "Part.met.seeds file"

From AMule Project FAQ
Jump to: navigation, search
m (Adjusted Links)
m (Adjusted Links)
Line 9: Line 9:
 
== Format ==
 
== Format ==
 
The format of this files is as follows:
 
The format of this files is as follows:
*''Number of sources'' <- Amount of sources that will be listed (8 [[bit]]s unsigned integer)
+
*''Number of sources'' <- Amount of sources that will be listed (8 [[Byte|bit]]s unsigned integer)
 
*For each source it has:
 
*For each source it has:
 
**''Source's ID'' <- The source's [[ID]] (4 [[byte]]s unsigned integer in [[little endian]])
 
**''Source's ID'' <- The source's [[ID]] (4 [[byte]]s unsigned integer in [[little endian]])

Revision as of 17:56, 23 January 2008

File

Name: *.part.met.seeds

Location: ~/.aMule/Temp/

Description

This file contains up to 10 sources for a file in aMule's download queue. This are known as seed.

Format

The format of this files is as follows:

  • Number of sources <- Amount of sources that will be listed (8 bits unsigned integer)
  • For each source it has:
    • Source's ID <- The source's ID (4 bytes unsigned integer in little endian)
    • Source's port <- The source's port (2 bytes unsigned integer in little endian)
  • Time the file was written (32 bits unsigned number, Unix Epoch date)

The whole file is then written in packets of 2 bytes in little endian.

Example

This is the contents of a valid seeds file (after endianess conversion to big endian:

05 41 65 1C 50 2A 2D 6E F3 2D 53 36 12 2F F1 CA
51 36 12 BF EA 7E C8 36 12 C1 31 3C D5 D5 30

Which can be read as:

05 <- 5 sources will be listed
41 65 1C 50 <- First sources' ID, which, after performing endiannes conversion, becomes 50 1C 65 41 in hex and 1344038209 in decimal. This corresponds to IP 80.28.101.65
2A 2D <- First sources port to communicate is port 15658 (since in big endian hex it would be 2D 2A)
6E F3 2D 53 <- Second source's IP: 83.45.243.110
36 12 <- Second source's port: 4662
2F F1 CA 51 <- Third source's IP: 81.202.241.47
36 12 <- Third source's port: 4662
BF EA 7E C8 <- Fourth source's IP: 200.126.234.191
36 12 <- Fourth source's port: 4662
C1 31 3C D5 <- Fifth source's IP: 213.60.49.193
D5 30 <- Fifth source's port: 12501

Notice this example does not have the last field ("Time the file was written"). This is beacuse it is an v1 format file. See the notes below to know more about this.

Notes

  • Since from a LowID you cannot tell it's IP, LowID clients should never make it into seeds files since it would be impossible to locate them later. So, seeds files only contain High ID sources.
  • aMule limits the amount of sources that can be listed to 10, but the file format could accept up to 255 sources (since the number of sources is told through an 8 bits unsigned integer).
  • Read sources are ignored if the file was stored more than two hours ago. The time the file was written field was introduced in file's v2 format. v1 format did not store the time it was stored, so when reading an v1 file it will just read all sources and ignore none.

Version

Created by Jacobo221 on 13.11.05 at 11:25
Updated by Vollstrecker on 23.01.08 at 17:56