aMule Forum

Please login or register.

Login with username, password and session length
Advanced search  

News:

We're back! (IN POG FORM)

Author Topic: Reanudar descargas en función del nombre  (Read 6581 times)

darksidex

  • Mule Farmer
  • Full Member
  • ***
  • Karma: 4
  • Offline Offline
  • Posts: 194
Reanudar descargas en función del nombre
« on: November 17, 2005, 03:55:18 PM »

Se que ahora amule reanuda las descargas en función de la prioridad, pero ¿no sería mejor hacerlo en función del nombre? ¿Sobre todo si se basa de reanudar la descargas de la misma categoría?

¿Que os parece?

PD Si os da pereza lo hago yo  :]
Logged
First of all, I apologize for my bad english. :D

Jacobo221

  • Hero Member
  • *****
  • Karma: 3
  • Offline Offline
  • Posts: 2712
Re: Reanudar descargas en función del nombre
« Reply #1 on: November 17, 2005, 08:15:07 PM »

tu mismo el patch :)

pero las prioridades estan para lo que estan. lo del nombre tendria que ser para cuando hay un empate de prioridades
Logged

darksidex

  • Mule Farmer
  • Full Member
  • ***
  • Karma: 4
  • Offline Offline
  • Posts: 194
Re: Reanudar descargas en función del nombre
« Reply #2 on: November 18, 2005, 09:13:55 AM »

Yo no lo veo así, tal vez porque uso la autoprioridad  :D

Pero si realmente quereis el patch, dime como (diff, la función entera directamente..) y a quién se lo paso.
Logged
First of all, I apologize for my bad english. :D

Kry

  • Ex-developer
  • Retired admin
  • Hero Member
  • *****
  • Karma: -665
  • Offline Offline
  • Posts: 5795
Re: Reanudar descargas en función del nombre
« Reply #3 on: November 18, 2005, 01:45:45 PM »

Eso ya esta hecho...
Logged

darksidex

  • Mule Farmer
  • Full Member
  • ***
  • Karma: 4
  • Offline Offline
  • Posts: 194
Re: Reanudar descargas en función del nombre
« Reply #4 on: November 18, 2005, 02:13:13 PM »

Quote
Originally posted by Kry
Eso ya esta hecho...

Solo por curiosidad, ¿en que parte? en "void CDownloadQueue::StartNextFile(CPartFile* oldfile);" no veo que se tiene en cuenta el nombre del fichero, solo la prioridad, y yo pensaba que esa era la función que se encargaba de reanudar las descargas.
Logged
First of all, I apologize for my bad english. :D

darksidex

  • Mule Farmer
  • Full Member
  • ***
  • Karma: 4
  • Offline Offline
  • Posts: 194
Re: Reanudar descargas en función del nombre
« Reply #5 on: November 20, 2005, 03:54:56 PM »

Al final hago el parche o no?
Logged
First of all, I apologize for my bad english. :D

Kry

  • Ex-developer
  • Retired admin
  • Hero Member
  • *****
  • Karma: -665
  • Offline Offline
  • Posts: 5795
Re: Reanudar descargas en función del nombre
« Reply #6 on: November 20, 2005, 10:50:28 PM »

Hazlo. pero me hace raroq ue se haya perdido esa funcionalidad.
Logged

darksidex

  • Mule Farmer
  • Full Member
  • ***
  • Karma: 4
  • Offline Offline
  • Posts: 194
Re: Reanudar descargas en función del nombre
« Reply #7 on: November 21, 2005, 11:23:59 AM »

Esta es la función tal cual la tenéis ahora:

Code: [Select]
void CDownloadQueue::StartNextFile(CPartFile* oldfile)
{
if ( thePrefs::StartNextFile() ) {
CPartFile* tFile = NULL;

{
wxMutexLocker lock(m_mutex);

for ( uint16 i = 0; i < m_filelist.size(); i++ ) {
CPartFile* file = m_filelist[i];

if ( file->GetStatus() == PS_PAUSED ) {
if ( !tFile || file->GetDownPriority() > tFile->GetDownPriority() ) {
if (tFile && thePrefs::StartNextFileSame()) {
if (tFile->GetCategory() == oldfile->GetCategory()) {
// Already found a file for this category
if (file->GetCategory() == oldfile->GetCategory()) {
// But the new one is also for this category
if (file->GetDownPriority() > tFile->GetDownPriority()) {
// So, higher prio?
tFile = file;
} else {
; // Lower prio, ignore this file.
}
} else {
; // It's not from the same category, so nothing
}
} else {
// Found no file yet with the same category
if (file->GetDownPriority() > tFile->GetDownPriority()) {
// So, higher prio?
tFile = file;
} else {
; // Lower prio, ignore this file.
}
}
} else {
// There is no file found yet or no category selection.
tFile = file;
}

if ( tFile->GetDownPriority() == PR_HIGH ) {
if (thePrefs::StartNextFileSame()) {
// It's from the same category?
if (tFile->GetCategory() == oldfile->GetCategory()) {
// There can't be any higher
break;
} else {
; // Maybe we'll find another file from the same category
}
} else {
// There can't be any higher
break;
}
}
}
}
}
}

if ( tFile ) {
tFile->ResumeFile();
}
}
}

Solo tiene en cuenta las prioridades.

A ver si este finde me pongo y la hago, que no tengo mucho tiempo libre ultimamente.
Logged
First of all, I apologize for my bad english. :D

Kry

  • Ex-developer
  • Retired admin
  • Hero Member
  • *****
  • Karma: -665
  • Offline Offline
  • Posts: 5795
Re: Reanudar descargas en función del nombre
« Reply #8 on: November 21, 2005, 11:44:29 AM »

ok, gracias. Yo sigo emparanoyado con que lo HACIA, mas que nada porque habia añadido yo lo de las categorias y eso... por otra parte, normalmente no recuerdo ni lo que desayuno, asi que....

Tu monta el patch con las categorias, añana en preferencias un thePrefs::StartNextFileAlpha() equivalente al thePrefs::StartNextFileSame() pero para alfabetico, y yo me encargo de añadirlo al gui.
Logged

darksidex

  • Mule Farmer
  • Full Member
  • ***
  • Karma: 4
  • Offline Offline
  • Posts: 194
Re: Reanudar descargas en función del nombre
« Reply #9 on: November 21, 2005, 11:54:49 AM »

Ya me he perdido, ahora no se si tengo que hacer una función que tenga en cuenta SOLO los nombres, que es lo que te he entendido a ti, o que tenga también en cuenta las prioridades del archivo, que es lo que creo que quería jacobo.

A mi me da igual montar una o la otra, pero haced un pequeño consenso, y me decís, más que nada para que esté listo cuanto antes.
Logged
First of all, I apologize for my bad english. :D

Kry

  • Ex-developer
  • Retired admin
  • Hero Member
  • *****
  • Karma: -665
  • Offline Offline
  • Posts: 5795
Re: Reanudar descargas en función del nombre
« Reply #10 on: November 21, 2005, 12:06:15 PM »

Simplemente tienes que extender la funcionalidad actual para que DESPUES de comprobar las prioridades, a prioridades equivalentes compruebe el nombre. Pero opcionalmente, asi que "if (tFile && thePrefs::StartNextFileSame()) {" en el codigo, que es para elegir solo por categorias, deberia tener su equivalente, por ejemplo thePrefs::StartNextFileAlpha() para permitir elegir si queremos este comportamiento o no.


Por otra parte, puedes hacer que no sea opcional, y si me aburro ya lo pondre opcional yo mas tarde.
Logged

darksidex

  • Mule Farmer
  • Full Member
  • ***
  • Karma: 4
  • Offline Offline
  • Posts: 194
Re: Reanudar descargas en función del nombre
« Reply #11 on: November 21, 2005, 12:44:02 PM »

ok, el finde me pongo y os paso el código.
En que formato? supongo que diff, pero con que parámetros lo monto (nunca lo he usado :()
Logged
First of all, I apologize for my bad english. :D

Jacobo221

  • Hero Member
  • *****
  • Karma: 3
  • Offline Offline
  • Posts: 2712
Re: Reanudar descargas en función del nombre
« Reply #12 on: November 21, 2005, 03:31:33 PM »

diff -u

;)
Logged

darksidex

  • Mule Farmer
  • Full Member
  • ***
  • Karma: 4
  • Offline Offline
  • Posts: 194
Re: Reanudar descargas en función del nombre
« Reply #13 on: November 26, 2005, 04:41:31 PM »

Ya está :D

No lo he probado porque no he cambiado el tema de las preferencias para que soporte thePrefs::StartNextFileAlpha(), así que no podría compilar, pero he usado el mismo método que uso en el emule, o que usaba en amule cuando lo compilaba en FreeBSD, salvo por lo de StartNextFileAlpha().

En el tar.gz hay dos ficheros, el primer parche es para que tenga en cuenta el orden alfabético, da igual si debe estar en la misma categoría o no. En el segundo solo tiene en cuenta el orden alfabético si está en la misma categoría, así podeis implementar el tema de las preferencias como mejor os venga. En ambos casos tiene en cuenta la prioridad.
Logged
First of all, I apologize for my bad english. :D