Important: The information in this document is obsolete and should not be used for new development.
Chapter 12 - Multinode Architecture
This chapter describes how you can use AppleTalk's multinode architecture to acquire one or more node IDs, called multinodes, in addition to the standard user node ID. Multinode architecture is an AppleTalk feature that is provided to meet the needs of special-purpose applications that receive and process AppleTalk packets in a custom manner instead of passing them directly on to a higher-level AppleTalk protocol for processing. A multinode ID allows the system that is running your application to appear as multiple nodes on the network. The prime example of a multinode application is Apple Remote Access (ARA).A multinode ID is distinct from the user node ID. AppleTalk separates packets addressed to a multinode from those addressed to the user node sockets on the same machine,
and it passes the multinode packets on to a receive routine that you must supply for
the multinode.Multinode architecture is implemented in the .MPP driver and exists at the same level of the AppleTalk protocol stack as does the Datagram Delivery Protocol (DDP), but unlike DDP, multinode does not use DDP sockets, nor is it connected to the AppleTalk protocol stack above the data-link level.
This chapter describes the fundamental tasks that you perform to
Because multinode is not connected to the AppleTalk protocol stack above the data-link level, if you want your multinode application to be compatible with AppleTalk, you must implement the higher-level AppleTalk protocols. Multinode also requires that you code
- add a multinode for your application's use
- write a required routine that receives packets addressed to the multinode
- prepare and send data from the multinode
- remove a multinode when you are finished with it
a receive routine in assembly language. For these reasons, you should consider using multinode only if your application requires that you process AppleTalk packets in a custom manner. You do not need to use the multinode architecture for other application requirements.The receive routine that you must provide to handle packets addressed to your multinode ID is similar to the DDP socket-listener code that an application must include to receive packets addressed to its DDP socket. The chapter "Datagram Delivery Protocol (DDP)" in this book describes how to write a socket listener, which provides useful background information on how to write a multinode receive routine.
At the data-link level, multinode architecture relies on the AppleTalk connection file
of type'adev'
that is implemented for a particular link type. For more informa-
tion about AppleTalk connection files, see the Macintosh AppleTalk Connections Programmer's Guide.For information describing how to implement the higher-level AppleTalk protocols, see Inside AppleTalk, second edition.
Chapter Contents
- About Multinode Architecture
- Using Multinode Architecture
- Acquiring and Removing Multinodes
- Handling an AppleTalk Cable-Range-Change Transition Event
- Receiving Packets Addressed to Your Multinode
- Calling ReadPacket to Read in the Packet Contents
- Calling ReadRest to Complete Reading in the Packet Contents
- Sending Packets Using a Multinode
- Preparing a Write-Data Structure
- Using a Checksum
- Multinode Architecture Reference
- Data Structures
- The Write-Data Structure
- The Address Block Record
- The Multinode Parameter Block
- Routines
- DESCRIPTION
- Adding and Removing Multinode Addresses
- Sending Datagrams Through Multinodes
- Summary of Multinode Architecture
- Pascal Summary
- Constants
- Data Types
- The Write-Data Structure
- The Address Block Record
- The Multinode Parameter Block
- C Summary
- Constants
- Data Types
- The Write-Data Structure
- The Address Block Record
- The MPP Parameter Block for Multinode
- Assembly-Language Summary
- MPP Parameter Block Common Fields for Multinode Routines
- AddNode Parameter Variant
- RemoveNode Parameter Variant
- NetWrite Parameter Variant
- Result Codes