A URL-Prioritization class (Loader, URLLoader, Sound)

September 5th, 2007

Decided to start putting some of my unused code online. I wrote a url prioritization class, it works with Loader, URLLoader, and Sound Objects (and maybe NetStream objects one day). This will let you set a priority for requests so they execute in the right order, take a look at currently executing requests or loading requests

Here’s how it works:

new RequestPool(new Loader(), RequestPool.MEDIUM, handler_method,
	new URLRequest('http://www.google.com/intl/en_ALL/images/logo.gif')
);

Pretty simple to do it, create a new pool object, then point it to a loading object. Add the priority (RequestPool.HIGH, RequestPool.MEDIUM, RequestPool.LOW), and then point it to an event handler. This is a special handler though, you’ll need to create one that supports 2 arguments, one for an event (it’ll be either io_error, complete, or security_error), and also an argument that takes the original requestpool object. After those 3 arguments, add the arguments you would normally add (i.e. URLRequest, etc etc).

You can take a look at loading or queued requests by calling RequestPool.currentRequests or RequestPool.loadingRequests. This is a simple class, feel free to hack it, just please send it back to me :).

The code is located at my project on googlecode. I’ll be putting up more classes there as time goes on.

/**
 * 	URL Prioritization Class
 * 	Works with Loader, Sound, URLLoader
 * 	(need to add netstream)
 *
 * 	Usage:
 *
 * 	Parameter 1:		The target loader
 * 	Parameter 2:		Priority (int)
 * 	Parameter 3:		Event Handler
 * 	Parameter 4...n:	The Target arguments
 *
 * 	// creates a request to be queued
 * 	new RequestPool(new Loader(), RequestPool.MEDIUM, handler_method,
 *		new URLRequest('http://www.google.com/intl/en_ALL/images/logo.gif')
 *	);
 * 	new RequestPool(new Sound(), RequestPool.HIGH, handler_method,
 *		new URLRequest('http://www.google.com/some_audio.mp3')
 *	);
 *
 * 	function handler_method(event:Event, pool:RequestPool):void {
 * 		trace(event);	// io_error, complete, or security_error,
 * 		trace(pool.priority, (priority.args[0] as URLRequest).url);	//
 * 	}
 */

82 Comments »

  1. Flash Bookmarks wrote,

    Aloha,

    This seems handy, thanks for the share.

    Comment on September 5, 2007 @ 11:49 am

  2. Actionscript Classes » URL Prioritization Class wrote,

    [...] http://www.danielhai.com/blog/?p=60 [...]

    Pingback on September 5, 2007 @ 12:25 pm

  3. Tim wrote,

    Hi Daniel,

    Did you see this posting on flexcoders:

    Hello, I’m running into an issue with URLLoader::close (and
    URLStream::close) not actually doing a low-level close of the
    underlying TCP connection.

    Basically we have a situation in which we’re doing a blocked poll
    against a server, and need to interrupt that blocked request in order
    to submit a new (higher prio) request. I’ve tried doing a close()
    call on the connection, tried doing a close and then ensuring that
    the URLLoader object is not reused, but it seems that the Player
    never actually attempts to close the underlying socket.

    I’m guessing that the failure to close is due to the fact that the
    flash player seems to be utilizing a connection pool behind the
    scenes:
    It seems that if I do a loadPolicyFile call, followed by a load via
    an URLLoader against the same host, Flash will open 2 keep-alive
    connections, and will then use one or the other underlying connection
    for all subsequent requests. This appears to cause an issue in
    certain browsers that limit the total number of persistent socket
    connections (if you check about:config in firefox you can see that
    network.” http.max-persistent-connections-per-server” is set to 2 by
    default, both of which get used up by the flash player instance).

    So my questions are:
    1) Is there a way to force the Player to actually close an underlying
    connection?
    2) Is there a way to prevent the URLLoader from using a keep-alive
    based connection?

    Comment on October 8, 2007 @ 11:30 am

  4. Daniel Hai wrote,

    I’m assuming you’re talking about Safari MAC, and URLLoader’s not firing their open or close events? I don’t know the answer to all your questions, but if I ever can get the attention of a flash player dev, I will ask him. I think the best thing to do would be to submit a bug, and have a Flash QE contact you.

    Comment on October 8, 2007 @ 5:00 pm

  5. sam wrote,

    hi Daniel, do you have a simple sample of this working? I get the following error:

    1120: Access of undefined property priority.
    trace(pool.priority, (priority.args[0] as URLRequest).url);

    Also, does the “handler_method” function works as is?

    Still fairly new to AS3 I must say.

    Comment on May 8, 2008 @ 5:01 pm

  6. AS3 |19 Custom AS3 Classes Roundup « Flash Enabled Blog wrote,

    [...] Prioritization [...]

    Pingback on July 23, 2008 @ 3:16 pm

  7. 19 classes AS3 indispensables pour vos projets Flex - Formation Flex, exemples, tuto, news et conseils en développement Adobe Flex / AIR wrote,

    [...] Prioritization [...]

    Pingback on July 28, 2008 @ 1:59 pm

  8. 30 Classes AS3 bem úteis! | TSW - That Should Work wrote,

    [...] Prioritization - http://www.danielhai.com/blog/?p=60 [...]

    Pingback on July 29, 2008 @ 1:24 am

  9. Classes úteis de AS3 » José Fernando Carvalho wrote,

    [...] Prioritization - http://www.danielhai.com/blog/?p=60 [...]

    Pingback on July 31, 2008 @ 8:17 pm

  10. Suzan wrote,

    Hello people! Nice site!

    Comment on January 6, 2009 @ 9:23 pm

  11. AS3 – 30 Classes bem úteis! « SuperAtivos wrote,

    [...] Prioritization – http://www.danielhai.com/blog/?p=60 [...]

    Pingback on May 10, 2009 @ 6:35 pm

  12. vip-telefon.su wrote,

    Iphone 3GS 32Gb оптом и в розницу.
    До 10шт. 28000р.
    До 30шт. 27000р.
    До 50шт. 26500р.
    Свыше 50шт. цена договорная.
    Находимся мы в России г. Калининград
    100% предоплата. Доставка максимум 15 дней. Перевод денег через любые способы переводов.
    Возможен самовывоз из г. Калининград, без осуществления предоплаты.

    ICQ 356391652
    моб. 891114622668

    Comment on September 25, 2009 @ 12:22 am

  13. sonic fast food wrote,

    Thanks!!! Nice post!

    Comment on October 20, 2009 @ 4:11 pm

  14. Roy63 wrote,

    These types of preparations will help you manage your time in the archive more efficiently. ,

    Comment on October 22, 2009 @ 9:36 am

  15. No_limits64 wrote,

    The pregnancy was terminated on Wednesday. ,

    Comment on October 23, 2009 @ 6:43 am

  16. Maxim wrote,

    Такой большой коментарий написал-отправил а он не отправился..и не сохранился..короче спасибо хотел сказать :)

    Comment on October 29, 2009 @ 7:43 am

  17. Kamagratoc wrote,

    Parmamibe
    Aloha - Mudak!
    Buy Kamagra. All figured?
    http://kamagraa.supra-host.com/ buy kamagra 392 pills

    Comment on November 4, 2009 @ 3:22 pm

  18. cledMoicClild wrote,

    Hey there everyone i actually purchased this e-book and have been useing it over the past few months to earn some cash! I figured with the current state of the economy everyone could use this book so im shareing it for free and you can download it right here!

    http://tinyurl.com/GetGoogleSniper

    Comment on November 8, 2009 @ 5:19 am

  19. Verty wrote,

    Понравился пост. Еле отправил сообщение-столько псал в начале и не сохранилось. Ну да ладно. Удачи, админ в развитии блога.

    Comment on November 19, 2009 @ 8:22 am

  20. Greg wrote,

    Строительство в регионах.

    Comment on November 19, 2009 @ 10:24 am

  21. Zoopcepliefly wrote,

    От души желаю автору успешного развития блога. Почитал-посмотрел, очень всё понравилось. Побольше бы таких ресурсов в сети и не пришлось бы перебирать тонны никчёмных сайтов, а порой и с вирусами что бы найти нужную информацию. Удачи, бро :)

    Comment on November 27, 2009 @ 9:27 am

  22. Zoopcepliefly wrote,

    Хороший блог! Тоже понравился.

    Comment on December 1, 2009 @ 4:34 am

  23. Zoopcepliefly wrote,

    Спасибо Вам за ваш сайт. Много интересного здесь нашёл для себя :)

    Comment on December 2, 2009 @ 7:54 am

  24. Zoopcepliefly wrote,

    Привет! С интересом почитал. У вас отличный блог. Желаю творческих успехов, Бро :)

    Comment on December 18, 2009 @ 3:27 am

  25. Zoopcepliefly wrote,

    nice site ^)

    Comment on December 18, 2009 @ 7:21 am

  26. Zoopcepliefly wrote,

    nice site ^) good gob

    Comment on December 19, 2009 @ 4:22 am

  27. SvenkiM wrote,

    Да уж. Как говорится в устоявшемся выражении:
    Именно в нашей стране с каждой секундой крепнет и вздымается все, что можно…

    Comment on December 22, 2009 @ 1:03 pm

  28. Минлебика wrote,

    ; никаких чукдес.

    Comment on December 27, 2009 @ 6:21 am

  29. Наджия wrote,

    Снимал летеом друздьям - в ожидании такого метеорита.

    Comment on December 27, 2009 @ 6:22 am

  30. Джамиля wrote,

    По правилам.

    Comment on December 28, 2009 @ 7:03 am

  31. Ясави wrote,

    Он обратился в милицию, вс равно здорово!

    Comment on December 28, 2009 @ 7:44 am

  32. Primo wrote,

    Расход - короче хорьшо хотя что тут есть 2 стороны.

    Comment on December 29, 2009 @ 2:49 am

  33. Lamberto wrote,

    Да шь всем бмв!

    Comment on December 29, 2009 @ 3:31 am

  34. JaneAir wrote,

    Ааааа, ну сколько можно уже отдыхать!? Уже как-то поднадоели эти праздники, наверное правы были те, кто советовал куда-нибудь ехать, а не ваньку валять все 10 дней. Уже реально делать нечего - дома прибралась, отмыла и отчистила всё что только можно, встретили всей толпой Хэппи Нью Еар, отошли от его отмечания, доели и допили всё, что осталось от новогодней пьян.. ночи :) Отошли от доедания и допивания, выбрались на природу, на шашлыки, покатались на горных лыжах, покатали шары в боулинге, в кинотеатре поглядели мультик Элвин и Бурундуки, покатались с горок на ватрушках, в гостях у мамы побывала. Сегодня утром проснулась и поняла, что впереди ещё 5 дней отдыха. Чем заняться ещё, уже ума не приложу. Кто вообще чем занимается в этот мини-отпуск, поделитесь со мной идеями.
    ЗЫ И правда говорят, что десять дней отдыха - это удар, но не только по экономике страны, но и про нам самим)))

    Comment on January 5, 2010 @ 9:30 am

  35. NowDooromoish wrote,

    +1 поддерживаю

    Comment on January 12, 2010 @ 3:57 pm

  36. NowDooromoish wrote,

    А у Вас талант писателя прям :)

    Comment on January 14, 2010 @ 2:35 am

  37. brihsd wrote,

    i love your post

    Comment on January 14, 2010 @ 5:37 am

  38. NowDooromoish wrote,

    Админ, а много блог отнимает времени у тебя?

    Comment on January 16, 2010 @ 3:18 am

  39. Fermulatka wrote,

    Это мы стучим молотком об стену, чтобы все там заткнулись на хрен.

    Comment on January 28, 2010 @ 5:30 am

  40. POJames wrote,

    Спасибо огромное за шикарную информацию, я об этом и не догадывался

    Comment on February 2, 2010 @ 2:54 pm

  41. JSMichael wrote,

    Как обычно, все классно. Удачи вам!

    Comment on February 3, 2010 @ 6:30 am

  42. Автомобиль Hyundai wrote,

    Спасибо! У Вас частенько встречаются великолепные посты! На весь день поднимаете настроение.

    Comment on February 3, 2010 @ 7:01 am

  43. Автомобили Hyundai wrote,

    Абсолютно вас поддерживаю, мы с вами одинаково мыслим.

    Comment on February 3, 2010 @ 10:42 am

  44. Народные средства wrote,

    Конечно, немного жалко, что блог обновляется не так часто, как того хотелось бы.

    Comment on February 4, 2010 @ 9:55 am

  45. Алексей wrote,

    thx a lot !!!

    Comment on February 5, 2010 @ 2:15 am

  46. Usemcheeree wrote,

    Спасибо! Кстати как подписаться на rss у вас на блоге? Чтот непойму, либо я туп…

    Comment on February 6, 2010 @ 12:36 pm

  47. FrideWorld wrote,

    «Блог в ридер однозначно»

    Comment on February 11, 2010 @ 7:18 pm

  48. ethepuddy wrote,

    смотрим здесь

    Comment on February 16, 2010 @ 6:42 pm

  49. Asert wrote,

    А я говорю КЛИКАБЕЛЬНО сцука

    Comment on February 17, 2010 @ 9:15 am

  50. ZOLUSHKA_Moskdf wrote,

    Надо почаще бывать на вашем блоге)) интересно

    Comment on February 27, 2010 @ 12:48 am

  51. AS程序员实用工具类 « Deepin 3000 wrote,

    [...] URL-Prioritization Class Url prioritization class它支持Loader,URLLoader以及Sound对象(也许有一天能支持NetStream对象)。它允许 设置请求的优先级以便这些对象能正确的顺序执行,还能查看当前的执行请求和载入请求。 [...]

    Pingback on March 6, 2010 @ 12:33 am

  52. 6款与声音有关的类 | 胖猫的窝 wrote,

    [...] 载图片,SWF,MP3,XML……QueueLoader是为AS3设计的,并且开源了。URL-Prioritization Class Url prioritization [...]

    Pingback on March 16, 2010 @ 8:33 pm

  53. Korfetnotyy wrote,

    Олололкин хоёёй ой! Приходите на Отличный сайт.

    Comment on March 28, 2010 @ 4:03 am

  54. Noxapadosop wrote,

    Вы не ответите, почему заданый ранее вопрос по теме не виден в комментариях (задавал три дня тому назад)?

    Comment on March 28, 2010 @ 7:43 pm

  55. dlaxisvansо wrote,

    Форумы могут быть настроены различным

    Comment on March 31, 2010 @ 9:12 am

  56. элитная недвижимость wrote,

    риелторское агентство казань

    Comment on April 1, 2010 @ 6:40 am

  57. Форум риэлторов wrote,

    салон красоты

    Comment on April 1, 2010 @ 9:50 am

  58. Teotormin wrote,

    Занемательно, прям как в фильме Унесенные ветром, я аж прослезился.

    Comment on April 3, 2010 @ 6:52 am

  59. AnthonyQT wrote,

    Задумав эту главу, автор испытывал известное чувство неуверенности. Как увидит читатель, она несколько выпадает из общей структуры книги: в ней рассказывается о подделках исторических источников, изготовленных в разное время, разными людьми, с различными целями, начиная от желания позабавить современников и кончая стремлением к политическому эффекту. Проницательный читатель, конечно, заметит здесь уловку автора - повествования о нескольких подделках объединены, скажет он, потому что рассказ о каждой из них не может составить отдельной главы. Автор действительно в данном случае слукавил, но лишь отчасти. Дело в том, что все подделки, о которых пойдет речь, представляют несомненный интерес в истории фальсификаций русских исторических источников, и к тому же многие из них как бы объединены общей судьбой - им была суждена короткая, чуть ли не мгновенная жизнь.
    Первой в этом ряду подделок можно назвать “Песнь Мстиславу”, опубликованную известным писателем рубежа XVIII-XIX вв. П. Ю. Львовым в 1808 г. на страницах “Русского вестника”, одного из популярных журналов того времени.
    В предисловии Львов уверял читателей: “Повесть сию читал я знаменитым мужам в нашей словесности и другим моим приятелям, людям известным в обществе по хорошим их сочинениям и переводам. Она им понравилась: все они предлагали мне преложить ее белыми стихами, но я не понадеялся на себя, не смел ни поправлять ее, ни переделывать, а решился издать так, как она есть, или, лучше сказать, как она мне досталась”.

    Comment on April 4, 2010 @ 12:31 pm

  60. ZODonald wrote,

    Для выявления дефектов внешнего вида все основные ткани (верха одежды) проверяют на разбраковочных станках. Имеются различные конструкции разбраковочных станков. Так, платьевые ткани вначале просматривают на горизонтальной стеклянной доске на просвет, выявляя дефекты ее структуры, а затем - на наклонной поверхности, устанавливая дефекты крашения или печатания.
    При количественной приемке измеряют длину ткани в каждом куске, но прежде проверяют целостность куска ткани по наличию маркировки (клейма) в начале и конце куска. Длину ткани измеряют на разбраковочных станках, оснащенных счетчиками длины, или на промерочных столах. Одновременно измеряют ширину ткани через каждые 2-3 м. Результаты измерения длины и ширины ткани записывают в промерочную ведомость, составляемую на всю партию поступившей ткани.
    Хранить ткани следует в специальных помещениях, где поддерживаются нормальные условия (температура 20 °С и влажность 65%)- Дневной свет и тем более прямые солнечные лучи не должны попадать на ткань. Лучше всего ткани хранить в помещении с искусственным освещением. Куски ткани для хранения укладывают штабелями на поддоны либо на стеллажи или полки в несколько рядов и закрывают занавесками (куски ворсовых тканей для хранения укладывают в один ряд).
    На крупных швейных предприятиях применяют способы хранения разбракованных материалов с широким использованием различных подъемно-транспортных устройств. Для размещения кусков материала на верхних полках стеллажей применяют тележки с подъемной платформой. Легкие платьевые и сорочечные ткани хранят в секционных стеллажах. При этом способе хранения вначале несколько кусков разбракованной и подобранной ткани укладывают в специальные контейнеры; с помощью кранов-штабелеров эти контейнеры устанавливают в секции стеллажа.
    При элеваторном способе хранения каждый кусок ткани помещают в отдельную люльку элеватора. Загрузка кусков ткани в элеватор и разгрузка элеватора выполняются автоматически по команде с пульта управления.
    Внедрение новых способов хранения материалов способствует повышению производительности труда в подготовительных цехах и улучшает условия хранения материалов.

    Comment on April 4, 2010 @ 1:49 pm

  61. Preefegex wrote,

    Что то в верхнем углу высплыло, и Каспер показал что сайт заражон вирусом,
    аффтар, да у тебя iframe вирус …

    Comment on April 5, 2010 @ 6:23 am

  62. teplotheory wrote,

    Полезно, я кстати смотрел даже продолжение всего этого тут http://teplotheory.ru/
    Но Ваш пост пригодился…

    Comment on April 11, 2010 @ 4:10 am

  63. cheesotochka wrote,

    Может для новичка и интересно, а так ни слова конкретики как определенно все что тут написано в этом виде не подскажет новичку нет алгоритма и примеров

    Comment on April 12, 2010 @ 9:06 am

  64. Kinkwerninhaw wrote,

    скачать порно бесплатно

    Comment on April 12, 2010 @ 4:35 pm

  65. ovappyVor wrote,

    Прекрасно, я так и думал.

    Comment on April 16, 2010 @ 4:29 pm

  66. excelfPally wrote,

    оригинально…

    Comment on April 18, 2010 @ 1:38 am

  67. crumereby wrote,

    ООО ТРИУМФ производит и поставляет оборудование для систем отопления и теплоснабжения – подогреватели водоводяные ВВП, подогреватели пароводяные пп, бойлеры, грязевики, воздухосборники, а также трубопроводная продукция – фланцы, отводы, переходы.

    Comment on April 21, 2010 @ 10:08 pm

  68. pieglicealk wrote,

    “Классная статья - спасибо”

    Comment on May 2, 2010 @ 2:03 pm

  69. Bogdanov wrote,

    Отличный пост, прочла с удовольствием! Не скверное начало. Удачи в дальнейшем!

    Comment on May 4, 2010 @ 2:27 pm

  70. Brewdeneind wrote,

    может еще есть четко и кратко писать что жалко пропадает открыто должно.

    Comment on May 12, 2010 @ 4:28 am

  71. mamasha-888 wrote,

    Есть ли смысл писать об этом?.
    Все это неинтересно.

    Comment on May 17, 2010 @ 8:02 am

  72. Torrent wrote,

    Вполне, ч0ткая новость

    Comment on May 17, 2010 @ 12:27 pm

  73. Uhtu wrote,

    Не помню где я уже встречал такую же тему хотя пофиг

    Comment on May 18, 2010 @ 4:53 am

  74. Sergej wrote,

    Думаю, для тех кто шарит заметка

    Comment on May 18, 2010 @ 8:33 am

  75. бодибилдинг wrote,

    Хай!
    Я 9 часов блуждал по сети, пока не вышел на ваш ресурс! Раздел этот здесь
    весьма кстати! Прикольный момент. На одном сайте прочитал
    такой рейтинг самого обсуждаемого на блогах:
    Умер французский писатель Морис Дрюон
    Умер основатель Рамблера Дмитрий Крюков
    Бондарчук представил продолжение «Обитаемого остров»
    Аварийная посадка самолета ТУ -204
    Математику Перельману присуждена Премия тысячелетия
    22 марта – Всемирный день воды
    Блин вот реально не пойму кто это читает?!))))

    Comment on May 30, 2010 @ 6:05 am

  76. Lasika wrote,

    !, !

    Comment on June 26, 2010 @ 4:49 am

  77. Lasika wrote,

    !) , ! . , . .

    Comment on June 27, 2010 @ 4:33 pm

  78. отдых в египте,отдых в египте с детьми wrote,

    Отдых в августе в египте– Аккуратный сайт о турах на крит.

    Comment on July 1, 2010 @ 3:46 pm

  79. rn80azi wrote,

    Нужный топик.

    Comment on July 9, 2010 @ 8:42 am

  80. x60qb3q wrote,

    Хороший топик.Нужный.

    Comment on July 11, 2010 @ 6:10 am

  81. filosofff wrote,

    Как раз то что искал.Спасибо, если можно, детальнее раскройте всю тему сообщения. Также интересуют приближенные темы.

    Comment on July 18, 2010 @ 11:49 pm

  82. Фитнес wrote,

    Хороший пост! Спасибо от нашего журнала!

    Comment on July 24, 2010 @ 5:39 am

Leave a comment

RSS feed for comments on this post. TrackBack URI