replace: don't bother retracting null handles
This commit is contained in:
parent
1a6bb4ffbd
commit
0039792e0b
|
@ -289,11 +289,13 @@ proc sync*(turn: var Turn; r, peer: Ref) =
|
||||||
|
|
||||||
proc replace*[T](turn: var Turn; `ref`: Ref; h: Handle; v: T): Handle =
|
proc replace*[T](turn: var Turn; `ref`: Ref; h: Handle; v: T): Handle =
|
||||||
result = publish(turn, `ref`, v)
|
result = publish(turn, `ref`, v)
|
||||||
|
if h != default(Handle):
|
||||||
retract(turn, h)
|
retract(turn, h)
|
||||||
|
|
||||||
proc replace*[T](turn: var Turn; `ref`: Ref; h: var Handle; v: T): Handle {.discardable.} =
|
proc replace*[T](turn: var Turn; `ref`: Ref; h: var Handle; v: T): Handle {.discardable.} =
|
||||||
var old = h
|
var old = h
|
||||||
h = publish(turn, `ref`, v)
|
h = publish(turn, `ref`, v)
|
||||||
|
if old != default(Handle):
|
||||||
retract(turn, old)
|
retract(turn, old)
|
||||||
h
|
h
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue