# What objects can be pass through the mmap-semaphore plugin?

**URL:** https://community.freefem.org/t/what-objects-can-be-pass-through-the-mmap-semaphore-plugin/3441
**Category:** General Discussion
**Created:** [August 13, 2024, 1:37am UTC](https://community.freefem.org/t/what-objects-can-be-pass-through-the-mmap-semaphore-plugin/3441 "2024-08-13T01:37:14Z")
**Posts on this page:** 2
**Page:** 1

<div class="post-metadata">

### Author: ![suavesito](https://yyz2.discourse-cdn.com/flex030/user_avatar/community.freefem.org/suavesito/32/2619_2.png) [@suavesito](https://community.freefem.org/u/suavesito)
#### Post date: [August 13, 2024, 1:37am UTC](https://community.freefem.org/t/what-objects-can-be-pass-through-the-mmap-semaphore-plugin/3441/1 "2024-08-13T01:37:14Z")

</div>

Hi!

I’m working to develop a Julia library to connect to FreeFEM++ using the mmap-semaphore plugin. The objective is to be able to pass vectors, meshes and solutions directly through mmap, without writing them to disk, to make the communication as fast as possible. I find the documentation a little sparse wrt data structures used internally by FreeFEM, so I wanted to ask:

- What data can be passed using `Write` and `Read` from the plugin.
- Where can I find more documentation or information on the in-memory data structure of different types in FreeFEM?

Thank you for the great software and the time. 😄

---

<div class="post-metadata">

### Author: ![suavesito](https://yyz2.discourse-cdn.com/flex030/user_avatar/community.freefem.org/suavesito/32/2619_2.png) [@suavesito](https://community.freefem.org/u/suavesito)
#### Post date: [August 29, 2024, 7:56pm UTC](https://community.freefem.org/t/what-objects-can-be-pass-through-the-mmap-semaphore-plugin/3441/2 "2024-08-29T19:56:15Z")

</div>

Well, the objects that currently can be passed with `mmap-semaphore` are scalar and arrays of `int` (`long` in C/C++, and `Int64` in Julia), `real` (`double` in C/C++, and `Float64` in Julia) and `complex` (`double complex` in C, `complex<double>` in C++, and `Complex{Float64}` in Julia).

I already extended the plugin, in a private compilation, to communicate double arrays (not sparse matrices, at least not yet). 🙂
