1-- using mcp.internal() with extstore 2 3function new_splitter(afg, bfg) 4 local fg = mcp.funcgen_new() 5 local h_a = fg:new_handle(afg) 6 local h_b = fg:new_handle(bfg) 7 8 fg:ready({ f = function(rctx) 9 return function(r) 10 rctx:enqueue(r, h_a) 11 rctx:enqueue(r, h_b) 12 rctx:wait_cond(2, mcp.WAIT_ANY) 13 return rctx:res_any(h_a) 14 end 15 end 16 }) 17 18 return fg 19end 20 21function mcp_config_pools() 22end 23 24function mcp_config_routes() 25 local mfg = mcp.funcgen_new() 26 mfg:ready({ f = function(rctx) 27 return function(r) 28 return mcp.internal(r) 29 end 30 end 31 }) 32 33 -- test running internal from subrctx's 34 local split = new_splitter(mfg, mfg) 35 36 local map = { 37 ["top"] = mfg, 38 ["split"] = split, 39 } 40 41 local router = mcp.router_new({ map = map }) 42 43 mcp.attach(mcp.CMD_ANY_STORAGE, router) 44end 45