[comp.sys.mac.programmer] Task-to-task communication under MultiFinder

thschulz@iraul1.ira.uka.de (Thomas Schulz) (06/13/88)

Apple announced a task-to-task communication mechanism
for applications under MultiFinder with System Tools 7.0
-- Well, that sounds good but leaves some questions open:

Will the MultiFinder include a scheduler which grants
CPU-access to the tasks based on communication needs,
priority etc.?

Will applications be able to send events/messages/anything
to other applications and then let the MultiFinder switch
to this particular co-task?

How will the communication protocol / language look like ?
Clipboard usage as in Switcher ? AppleTalk ? TCP/IP ? Remote
Procedure Calls ? Sockets ?

Certainly we need a general mechanism which is transparent
to communicating to tasks on the same CPU or via network to
tasks (e.g. servers) on other machines (even non-Macs)- for
that reason Apple should base this task-to-task comm. mechanism
on available "standard" comm. protocols: AppleTalk, TCP/IP,
RPCs. It would be the MultiFinders/Schedulers work to
manage
connections on the same Mac.

Has Apple plans to develop the MacOS into a full
multi-user,
multi-task system ?

We plan to have an application communicate with HyperCard;
is doesn't make sense to include the application as XCMDS
into HyperCard, nor does it perfectly make sense to have it
running as a background-only application. Even if we would
implement the latter, we would appreciate a clear
communication mechanism between applications under
MultiFinder.

Does  anybody else work on projects with communicating
applications on the same Mac?

Tom Schulz

jmunkki@santra.HUT.FI (Juri Munkki) (06/22/88)

In article <586@iraun1.ira.uka.de> thschulz@iraul1.ira.uka.de (Thomas Schulz) writes:
>How will the communication protocol / language look like ?
>Clipboard usage as in Switcher ? AppleTalk ? TCP/IP ? Remote
>Procedure Calls ? Sockets ?	  _________

AppleTalk already works under MultiFinder. All you have to do
is to temporary enable the "selfsend" flag using the call
introduced in Inside Macintosh V. You can then use ATP or
even DDP to communicate the data. If you use DDP, remember
that A5 will not point to your globals. You have to store
A5 so that you socket listener can find it. Otherwise DDP
is better, since it reduces buffer copying.

>Does  anybody else work on projects with communicating
>applications on the same Mac?

I only had one Mac at home at the time I tried to learn to
program AppleTalk. I tested my NBP and ATP knowledge by writing
two programs that communicated using these protocols. Please
note that it is still much easier to use two (preferably three)
macs to learn appletalk. You have to call GetNextEvent to allow
MultiFinder to juggle.

Juri Munkki
jmunkki@santra.hut.fi
jmunkki@fingate.bitnet