Author: colin Date: 2010-02-02 09:58:36 +0100 (Tue, 02 Feb 2010) New Revision: 35387 Changeset: http://dev.haiku-os.org/changeset/35387/haiku Modified: haiku/branches/developer/colin/wireless/src/add-ons/kernel/network/devices/ieee80211/stack/mpdu_coordination/services/FragmentateService.cpp haiku/branches/developer/colin/wireless/src/add-ons/kernel/network/devices/ieee80211/stack/mpdu_coordination/services/FragmentateService.h Log: Definition of the fragmentation procedure. Modified: haiku/branches/developer/colin/wireless/src/add-ons/kernel/network/devices/ieee80211/stack/mpdu_coordination/services/FragmentateService.cpp =================================================================== --- haiku/branches/developer/colin/wireless/src/add-ons/kernel/network/devices/ieee80211/stack/mpdu_coordination/services/FragmentateService.cpp 2010-02-01 22:03:11 UTC (rev 35386) +++ haiku/branches/developer/colin/wireless/src/add-ons/kernel/network/devices/ieee80211/stack/mpdu_coordination/services/FragmentateService.cpp 2010-02-02 08:58:36 UTC (rev 35387) @@ -50,5 +50,35 @@ status_t FragmentateService::_Run() { + Frame* frame = NULL; + status_t status = B_OK; + + do { + status = fProcessQueue.Dequeue(&frame); + if (status != B_OK) + break; + + status = _FragmentAndHandOverFragments(frame); + } while (status == B_OK); + + return status; +} + + +/* #pragma mark - private */ + + +/*! If frame length is greater than dot11FragmentationThreshold divide the frame + in multiple frames of length dot11FragmentationThreshold. + Hand the frame/frames over to the next processing stage afterwards. + + \param frame to be fragmented eventually and handed over afterwards. + \return B_OK The frame was successfully handed over to the next processing + stage. + \return Else The frame wasn't handed over, due to an unrecoverable error. + */ +status_t +FragmentateService::_FragmentAndHandOverFragments(Frame* frame) +{ return B_OK; } Modified: haiku/branches/developer/colin/wireless/src/add-ons/kernel/network/devices/ieee80211/stack/mpdu_coordination/services/FragmentateService.h =================================================================== --- haiku/branches/developer/colin/wireless/src/add-ons/kernel/network/devices/ieee80211/stack/mpdu_coordination/services/FragmentateService.h 2010-02-01 22:03:11 UTC (rev 35386) +++ haiku/branches/developer/colin/wireless/src/add-ons/kernel/network/devices/ieee80211/stack/mpdu_coordination/services/FragmentateService.h 2010-02-02 08:58:36 UTC (rev 35387) @@ -26,6 +26,8 @@ private: virtual status_t _Run(); + status_t _FragmentAndHandOverFragments(Frame*); + Queue<Frame> fProcessQueue; };