Next: , Up: net channels channels   [Index]


20.2.1 The <channel> type

The following syntactic bindings are exported by the library (vicare net channels).

Record Type: <channel>

Expose the basic configuration and inspection methods for all the channels.

Method on <channel>: <epoch-time> expiration-time this
Method on <channel>: <void> expiration-time this {time <epoch-time>}

Accessor and mutator for the message transfer expiration time. The argument time must be an instance of <epoch-time> (as defined by (vicare)) representing the maximum time before which the message transfer must be completed.

If the time limit is violated: an exception is raised at the first attempted operation.

Method on <channel>: <positive-fixnum> maximum-message-size this
Method on <channel>: <positive-fixnum> maximum-message-size this {len <positive-fixnum>}

Accessor and mutator for the maximum message size. The argument len must be the maximum allowed length for a whole message, measured in bytes for binary channels and in characters for textual channels.

Method on <channel>: <non-negative-fixnum> current-message-size this

Accessor for the current message size: the number of bytes or characters sent so far or received so far. The returned value represents the current message length, measured in bytes for binary channels and in characters for textual channels.

Method on <channel>: <boolean> sending? this

Return #t if this is in the course of sending a message; otherwise return #f.

Method on <channel>: <boolean> receiving? this

Return #t if this is in the course of receiving a message; otherwise return #f.

Method on <channel>: <boolean> inactive? this

Return #t if this is neither in the course of sending nor receiving a message; otherwise return #f.

Method on <channel>: <boolean> delivery-timeout-expired? this

Return #t if the delivery timeout has expired; otherwise return #f. We can use this method to query this status even without attempting an input/output operation.


Next: , Up: net channels channels   [Index]