diff options
author | Jacek Sieka <arnetheduck@gmail.com> | 2016-08-25 22:59:51 +0800 |
---|---|---|
committer | Jacek Sieka <arnetheduck@gmail.com> | 2016-08-25 22:59:51 +0800 |
commit | db2f96daba9c04db2f24cb783c79fb37799cd9ea (patch) | |
tree | 567beb43c7e4549abfcae1ea66e5232d7525e001 /examples/ssl/extradata.nim | |
parent | 3116744c86f37ac4e4e5fec3d6d1635304ed717f (diff) | |
parent | 84a09d2f5b0866491e55fef0fef541e8cc548852 (diff) | |
download | Nim-db2f96daba9c04db2f24cb783c79fb37799cd9ea.tar.gz |
Merge remote-tracking branch 'origin/devel' into initallocator-fix
Diffstat (limited to 'examples/ssl/extradata.nim')
-rw-r--r-- | examples/ssl/extradata.nim | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/examples/ssl/extradata.nim b/examples/ssl/extradata.nim new file mode 100644 index 000000000..1e3b89b02 --- /dev/null +++ b/examples/ssl/extradata.nim @@ -0,0 +1,26 @@ +# Stores extra data inside the SSL context. +import net + +let ctx = newContext() + +# Our unique index for storing foos +let fooIndex = ctx.getExtraDataIndex() +# And another unique index for storing foos +let barIndex = ctx.getExtraDataIndex() +echo "got indexes ", fooIndex, " ", barIndex + +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() |