[operations] [attributes] [fields] [template] [definition]
[implementation] [documentation]
To use the search tool you need to use a browser which supports JAVA (c)

[next] [prev] [superclass] [next peer] [prev peer] [subclass] [index] [hierarchy]

IrDAStream

inherits from CommunicationStream

Object <- Server <- HardwareStream <- CommunicationStream <- IrDAStream



Operations

Get list of all operations

Abort
Connect
CountReadPending
CountWritePending
Disconnect
Finalize
Flush
Init
Read
Write


Attributes

Get list of all attributes

TransferSize


Fields

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 template

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;

Class definition

// 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;