namespace mozilla { namespace _ipdltest { protocol PTestShmem { child: async Give(Shmem mem, Shmem unsafe, size_t expectedSize); parent: async Take(Shmem mem, Shmem unsafe, size_t expectedSize); async __delete__(); state GIVING: send Give goto TAKING; state TAKING: recv Take goto TAKING; recv __delete__; }; } }