28 lines
426 B
V
28 lines
426 B
V
|
module sync
|
||
|
|
||
|
pub struct Channel {
|
||
|
arr array
|
||
|
}
|
||
|
|
||
|
pub fn new_channel<T>(n u32) &Channel {
|
||
|
return &Channel{arr, new_array()}
|
||
|
}
|
||
|
|
||
|
pub fn (mut ch Channel) close() {}
|
||
|
|
||
|
pub fn (mut ch Channel) push(src voidptr) {
|
||
|
#array_push(ch.val.arr,src)
|
||
|
}
|
||
|
|
||
|
pub fn (ch Channel) len() int {
|
||
|
return ch.arr.len
|
||
|
}
|
||
|
|
||
|
pub fn (ch Channel) closed() bool {
|
||
|
return false
|
||
|
}
|
||
|
|
||
|
pub fn (mut ch Channel) pop(dest voidptr) {
|
||
|
#dest.val = array_pop(ch.val.arr)
|
||
|
}
|