Class type Lwt_stream.​bounded_push

class type ['a]bounded_push = object..end

Type of sources for bounded push-streams.


method size : int

Size of the stream.

method resize : int -> unit

Change the size of the stream queue. Note that the new size can smaller than the current stream queue size.

It raises Invalid_argument if size < 0.

method push : 'a -> unit Lwt.t

Pushes a new element to the stream. If the stream is full then it will block until one element is consumed. If another thread is already blocked on Error a_api: "bounded_push" is not a valid module name, it raises Lwt_stream.​Full.

method close : unit

Closes the stream. Any thread currently blocked on Error a_api: "bounded_push" is not a valid module name will fail with Lwt_stream.​Closed.

method count : int

Number of elements in the stream queue.

method blocked : bool

Is a thread is blocked on Error a_api: "bounded_push" is not a valid module name ?

method closed : bool

Is the stream closed ?

method set_reference : 'b. 'b -> unit

Set the reference to an external source.