Object <- TransferTicket <- InternetTransferTicket |
|
|
AcquireDataLink ReleaseDataLink |
|
DataLink |
| Field | Type | |
|---|---|---|
| TransferTicket: | lastAttempt: | Unsigned |
| stream: | Stream | |
| serviceChoice: | ServiceChoice | |
| processedCard: | ProcessedCard | |
| followOn: | TransferTicket | |
| statusAnnouncement: | StatusAnnouncement | |
| transferFailed: | Boolean | |
| transferDone: | Boolean | |
| InternetTransferTicket: | dataLink: | DataLinkServer |
instance InternetTransferTicket tag; lastAttempt: 0; stream: nilObject; serviceChoice: nilObject; processedCard: nilObject; followOn: nilObject; statusAnnouncement: nilObject; transferFailed: false; transferDone: false; dataLink: nilObject; end instance;
Define Class InternetTransferTicket; inherits from TransferTicket; field dataLink: DataLinkServer, weak, getter, setter; // weak field, since active data links may be shared attribute DataLink: DataLinkServer; // the link server operation AcquireDataLink(); // brings up a data link based on the ticket's InternetServiceChoice. // Connects the driver, attaches the new dataLink to iIPSwitch, and // registers DNS for the InternetProvider. operation ReleaseDataLink(); // terminates connection, releasing the dataLink end class;