@@ -26,7 +26,7 @@ function Resource(env::Environment, capacity::Int=1; level::Int=0) :: Resource
2626 Resource (env, capacity, level)
2727end
2828
29- function Put {N<:Number} (con:: Container{N} , amount:: N ; priority:: Int = 0 ) :: Put
29+ function Put (con:: Container{N} , amount:: N ; priority:: Int = 0 ) where N <: Number
3030 put_ev = Put (con. env)
3131 con. put_queue[put_ev] = ContainerKey (priority, con. seid+= one (UInt), amount)
3232 @callback trigger_get (put_ev, con)
@@ -63,7 +63,7 @@ function request(func::Function, res::Resource; priority::Int=0)
6363 end
6464end
6565
66- function Get {N<:Number} (con:: Container{N} , amount:: N ; priority:: Int = 0 ) :: Get
66+ function Get (con:: Container{N} , amount:: N ; priority:: Int = 0 ) where N <: Number
6767 get_ev = Get (con. env)
6868 con. get_queue[get_ev] = ContainerKey (priority, con. seid+= one (UInt), amount)
6969 @callback trigger_put (get_ev, con)
@@ -75,14 +75,14 @@ const Release = Get
7575
7676Release (res:: Resource ; priority:: Int = 0 ) = Get (res, 1 ; priority= priority)
7777
78- function do_put {N<:Number} (con:: Container{N} , put_ev:: Put , key:: ContainerKey{N} ) :: Bool
78+ function do_put (con:: Container{N} , put_ev:: Put , key:: ContainerKey{N} ) where N <: Number
7979 con. level + key. amount > con. capacity && return false
8080 schedule (put_ev)
8181 con. level += key. amount
8282 true
8383end
8484
85- function do_get {N<:Number} (con:: Container{N} , get_ev:: Get , key:: ContainerKey{N} ) :: Bool
85+ function do_get (con:: Container{N} , get_ev:: Get , key:: ContainerKey{N} ) where N <: Number
8686 con. level - key. amount < zero (N) && return false
8787 schedule (get_ev)
8888 con. level -= key. amount
0 commit comments