aboutsummaryrefslogtreecommitdiff
path: root/deep_test/deeptest.lua
diff options
context:
space:
mode:
Diffstat (limited to 'deep_test/deeptest.lua')
-rw-r--r--deep_test/deeptest.lua53
1 files changed, 35 insertions, 18 deletions
diff --git a/deep_test/deeptest.lua b/deep_test/deeptest.lua
index 3b514dd..c0bbab4 100644
--- a/deep_test/deeptest.lua
+++ b/deep_test/deeptest.lua
@@ -1,22 +1,39 @@
1-- create a deep-aware full userdata while Lanes isn't loaded 1local lanes = require("lanes").configure{ with_timers = false}
2local dt = require "deep_test" 2local l = lanes.linda "my linda"
3local deep = dt.new_deep()
4deep:set(666)
5print( deep)
6 3
7local clonable = dt.new_clonable() 4-- we will transfer userdata created by this module, so we need to make Lanes aware of it
5local dt = lanes.require "deep_test"
8 6
9-- now load Lanes and see if that userdata is transferable 7local test_deep = true
10--[[ 8local test_clonable = false
11local lanes = require("lanes").configure() 9
12local l = lanes.linda "my linda" 10local performTest = function( obj_)
11 obj_:set(666)
12 print( "immediate:", obj_)
13
14 l:set( "key", obj_)
15 local out = l:get( "key")
16 print( "out of linda:", out)
17
18 local g = lanes.gen(
19 "package"
20 , {
21 required = { "deep_test"} -- we will transfer userdata created by this module, so we need to make this lane aware of it
22 }
23 , function( obj_)
24 print( "in lane:", obj_)
25 return obj_
26 end
27 )
28 h = g( obj_)
29 local from_lane = h[1]
30 print( "from lane:", from_lane)
31end
13 32
14l:set( "key", deep) 33if test_deep then
15local deep_out = l:get( "key") 34 performTest( dt.new_deep())
16print( deep_out) 35end
17 36
18lanes.register() 37if test_clonable then
19l:set( "key", clonable) 38 performTest( dt.new_clonable())
20local clonable_out = l:get( "key") 39end
21print( clonable_out)
22--]] \ No newline at end of file