4 Ekim 2008 Cumartesi

Class Queue ve Class PacketQueue

Aslında Queue sınıfının yaptığı pek bir şey yok. Zaten paket Queue ya ulaşınca recv fonksiyonu çağrılıyor ve önce enque ve sonrada deque çağrılıyor. Bu iki fonksiyon Queue sınıfında virtual tanımlı ve boş.
Queue diğer kuyruk sınıflarına temel olması için tasarlanmış. Ama genel olarak enque ve deque fonksiyonlarını sağlayan PacketQueue kullanılıyor.
PacketQueue sınıfında tanımlı enque fonksiyonu gelen paketi, eğer listede başka paket yoksa en başa kaydediyor. Listede paket varsa, bir önceki paketin "sıradaki paket" yani next alanını yeni gelen paketi gösterecek şekilde ayarlayıp yeni paketi de listeye ekliyor, liste boyutunu arttırıyor ve kuyruk sonu işaretçisini son gelen paketi gösterecek hale getiriyor.
Deque fonksiyonu ise, FIFO mantığı ile, head ile işaret edilen yani listedeki ilk paketi listeden kaldırmak için tasarlanmış. Bu fonksiyon head işaretçisini, listede yer alan sıradaki pakete yönlendiriyor ve kuyruk boyunu bir azaltıyor..

Hiç yorum yok:

Yorum Gönder