The function isready(ch) checks if Channel ch has any stored value. Is there a function to check if a Channel is full?
There is no function in Base, but you can do it yourself:
isfull(ch::Channel) = length(ch.data) ≥ ch.sz_max
But be aware that isfull is also exported by DataStructures.
              
              
              1 Like
            
            
          This fixes the unbuffered channel case:
isfull(ch::Channel) = begin
    if ch.sz_max===0
        isready(ch)
    else
        length(ch.data) ≥ ch.sz_max
    end
end
            
              
              
              2 Likes
            
            
          I have given a go at implementing isfull in Implement and export `isfull` by KronosTheLate · Pull Request #53159 · JuliaLang/julia · GitHub, which might be included from Julia 1.11 and onwards.
              
              
              2 Likes