Skip to content

Commit 19ee1e6

Browse files
committed
update parametrized functions
1 parent c323259 commit 19ee1e6

2 files changed

Lines changed: 9 additions & 9 deletions

File tree

src/resources/containers.jl

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ function Resource(env::Environment, capacity::Int=1; level::Int=0) :: Resource
2626
Resource(env, capacity, level)
2727
end
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
6464
end
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

7676
Release(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
8383
end
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

src/resources/stores.jl

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -27,35 +27,35 @@ function Store(t::Type, env::Environment, capacity::UInt=typemax(UInt))
2727
Store{t}(env, capacity)
2828
end
2929

30-
function Put{T}(sto::Store{T}, item::T; priority::Int=0) :: Put
30+
function Put(sto::Store{T}, item::T; priority::Int=0) where T
3131
put_ev = Put(sto.env)
3232
sto.put_queue[put_ev] = StorePutKey{T}(priority, sto.seid+=one(UInt), item)
3333
@callback trigger_get(put_ev, sto)
3434
trigger_put(put_ev, sto)
3535
return put_ev
3636
end
3737

38-
function get_any_item{T}(::T) :: Bool
38+
function get_any_item(::T) where T
3939
return true
4040
end
4141

42-
function Get{T}(sto::Store{T}, filter::Function=get_any_item; priority::Int=0) :: Get
42+
function Get(sto::Store{T}, filter::Function=get_any_item; priority::Int=0) where T
4343
get_ev = Get(sto.env)
4444
sto.get_queue[get_ev] = StoreGetKey(priority, sto.seid+=one(UInt), filter)
4545
@callback trigger_put(get_ev, sto)
4646
trigger_get(get_ev, sto)
4747
return get_ev
4848
end
4949

50-
function do_put{T}(sto::Store{T}, put_ev::Put, key::StorePutKey{T}) :: Bool
50+
function do_put(sto::Store{T}, put_ev::Put, key::StorePutKey{T}) where {T}
5151
if length(sto.items) < sto.capacity
5252
push!(sto.items, key.item)
5353
schedule(put_ev)
5454
end
5555
return false
5656
end
5757

58-
function do_get{T}(sto::Store{T}, get_ev::Get, key::StoreGetKey) :: Bool
58+
function do_get(sto::Store{T}, get_ev::Get, key::StoreGetKey) where {T}
5959
for item in sto.items
6060
if key.filter(item)
6161
delete!(sto.items, item)

0 commit comments

Comments
 (0)