summary refs log tree commit diff stats
path: root/examples
diff options
context:
space:
mode:
authorDominik Picheta <dominikpicheta@gmail.com>2016-06-03 13:22:18 +0100
committerDominik Picheta <dominikpicheta@gmail.com>2016-06-03 13:22:18 +0100
commit5390c25b60e79f87aca339f7428575066b0b2d08 (patch)
tree7e611958493a77890b854a070f4b44a19911902d /examples
parentc1706463dcf35f64f695e23d15b3392155cea021 (diff)
downloadNim-5390c25b60e79f87aca339f7428575066b0b2d08.tar.gz
Modified #3472 to make its API more idiomatic.
Diffstat (limited to 'examples')
-rw-r--r--examples/ssl/extradata.nim26
1 files changed, 19 insertions, 7 deletions
diff --git a/examples/ssl/extradata.nim b/examples/ssl/extradata.nim
index f86dc57f2..1e3b89b02 100644
--- a/examples/ssl/extradata.nim
+++ b/examples/ssl/extradata.nim
@@ -1,14 +1,26 @@
 # Stores extra data inside the SSL context.
 import net
 
+let ctx = newContext()
+
 # Our unique index for storing foos
-let fooIndex = getSslContextExtraDataIndex()
+let fooIndex = ctx.getExtraDataIndex()
 # And another unique index for storing foos
-let barIndex = getSslContextExtraDataIndex()
+let barIndex = ctx.getExtraDataIndex()
 echo "got indexes ", fooIndex, " ", barIndex
 
-let ctx = newContext()
-assert ctx.getExtraData(fooIndex) == nil
-let foo: int = 5
-ctx.setExtraData(fooIndex, cast[pointer](foo))
-assert cast[int](ctx.getExtraData(fooIndex)) == foo
+try:
+  discard ctx.getExtraData(fooIndex)
+  assert false
+except IndexError:
+  echo("Success")
+
+type
+  FooRef = ref object of RootRef
+    foo: int
+
+let foo = FooRef(foo: 5)
+ctx.setExtraData(fooIndex, foo)
+doAssert ctx.getExtraData(fooIndex).FooRef == foo
+
+ctx.destroyContext()