Object <- Server <- HardwareStream <- CommunicationStream <- IrDAStream |
|
|
Abort Connect CountReadPending CountWritePending Disconnect Finalize Flush Init Read Write |
|
TransferSize |
| Field | Type | |
|---|---|---|
| Server: | enabled: | Boolean |
| Stream: | target: | Object |
| HardwareStream: | state: | Unsigned |
| readRate: | Unsigned | |
| writeRate: | Unsigned | |
| maxReadRate: | Unsigned | |
| maxWriteRate: | Unsigned | |
| defaultTimeout: | Unsigned | |
| IrDAStream: | transferSize: | Signed |
| written: | Unsigned | |
| warnedUser: | Boolean | |
| statusAnnouncement: | StatusAnnouncement | |
| connectionSemaphore: | TimeoutSemaphore | |
| beamState: | Unsigned | |
| endpoint: | Unsigned | |
| peer: | Unsigned | |
| master: | Boolean | |
| sendBuffer: | Buffer | |
| sendBufferCount: | Unsigned | |
| recvBuffer: | SharedBuffer | |
| credits: | Unsigned | |
| writerSlot: | Unsigned | |
| readerSlot: | Unsigned | |
| maxSegmentSize: | Unsigned | |
| creditSemaphore: | TimeoutSemaphore |
instance IrDAStream tag; enabled: false; target: nilObject; state: 0; readRate: 0; writeRate: 0; maxReadRate: 0; maxWriteRate: 0; defaultTimeout: 0; transferSize: 0; written: 0; warnedUser: false; statusAnnouncement: nilObject; connectionSemaphore: nilObject; beamState: 0; endpoint: 0; peer: 0; master: false; sendBuffer: nilObject; sendBufferCount: 0; recvBuffer: nilObject; credits: 0; writerSlot: 0; readerSlot: 0; maxSegmentSize: 0; creditSemaphore: nilObject; end instance;
// a stream for transport over IrDA (TinyTP/IrLMP/IrLAP) Define Class IrDAStream; inherits from CommunicationStream; uses extra; field transferSize: Signed, getter, setter; field written: Unsigned; field warnedUser: Boolean; field statusAnnouncement: StatusAnnouncement, weak; field connectionSemaphore: TimeoutSemaphore; field beamState: Unsigned; field endpoint: Unsigned; field peer: Unsigned; field master: Boolean; field sendBuffer: Buffer; field sendBufferCount: Unsigned; field recvBuffer: SharedBuffer; field credits: Unsigned; field writerSlot: Unsigned; field readerSlot: Unsigned; field maxSegmentSize: Unsigned; field creditSemaphore: TimeoutSemaphore; overrides Init, Finalize; overrides Connect; // the 'destination' parameter is ignored. If the 'wantsStatus' parameter // is a StatusAnnouncement_, it will be updated as the transfer progresses. overrides Disconnect, Abort; overrides Read, Write, Flush; overrides CountReadPending, CountWritePending; attribute TransferSize: Signed; end class;