What to do without OTScheduleSystemTask?
What to do without OTScheduleSystemTask?
- Subject: What to do without OTScheduleSystemTask?
- From: Graham Parkinson-Morgan <email@hidden>
- Date: Mon, 29 Mar 2004 13:17:16 -0800
This is probably an faq, but the google radar didn't pick anything up.
I need to set up an environment so that the same code, Mac and PC, can
process packet received.
On the Mac, packets are currently received via the OT Notifier callback
for all targets (OS9 native, Carbon, & Mach).
Packet-processor objects could be written by any of my colleagues at
any time in the future, and I want to avoid the situation in which they
have to wear the magic OS9 interrupt hat when they design and implement
their code (these chappies could be PC coders only). I might add that
the packets are small (64 bytes) and not all all frequent, so parking
them in a deferred list for later processing seems like a safe bet.
So it seems I will have to design a protective shield for them. I would
like to have one strategy, but it appears at first cut that I will have
to come up with three, to cover all the bases.
Prior to Carbon, one could receive the packets in OTNotifier, copy them
to an OTList, schedule a SystemTask, pop them off the OTList in there
and hand them off to the packet processor objects without the use of a
safety net.
For Mach, I presume (please correct me if I am wrong) that OTNotifier
is not really called in interrupt space at all, and I can pass the
packets I receive direct to the packet processors.
But for Carbon apps, I presume that OTNotifier is still called in
interrupt space but the OTScheduleSystemTask has been retired. If this
is the case I need another strategy to process at 'system task' time
the packets received at interrupt time: but so far the only strategy I
can come up with is polling at idle time (I regard a cooperative thread
here as amounting to the same thing).
Since I am a networking novice, and this must be a very familiar and
oft-straddled hurdle, is there anyone here kind enough to take the time
to point out the flaws in my reasoning, show me the true light, or
reassure me that this is not a grim situation at all?
G.
_______________________________________________
macnetworkprog mailing list | email@hidden
Help/Unsubscribe/Archives:
http://www.lists.apple.com/mailman/listinfo/macnetworkprog
Do not post admin requests to the list. They will be ignored.