celix-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Björn Petri <bjoern.pe...@sundevil.de>
Subject Re: Remote service using shared mem
Date Mon, 16 Sep 2013 14:00:58 GMT
Am 2013-09-16 13:16, schrieb Alexander Broekhuis:
> Some other remarks/questions:
> I noticed you created a new proxy for shm usage. While currently this 
> is
> ok, I think we need to do some refactoring to take out the transport
> knowledge from the endpoints, they should only handle 
> encoding/decoding.
> Some generic callback method in the RSA should be called, which then 
> takes
> care of the transport.

I agree, Pepijn told me that Erik Jasman has already done quite a lot 
of work to achieve this.
Maybe we could contine with his approach?!

> Naming of the shmem files etc is currently fixed (/tmp/...), this 
> should be
> made an property. Now it simply won't work on Win32 at all, although 
> I am
> not sure how shmem is solved on windows, trying to keep the code as
> platform independent as possible is always a good thing.
> In the RSA (line 543) itself there is a hardcoded reference to
> /services/example, why is this?

Hmm .. that's a leftover from the original rsa and indeed superfluous.

> When testing "remote-services-shm" and stopping the "example" bundle, 
> the
> discovery tries to deregister an entry, this results in a call to 
> register
> which somehow fails with an segfault. Maybe I am missing something, 
> but
> there is no removal anywhere. How is this supposed to work? Btw, 
> before the
> segfault the following error is printed:
> DISCOVERY: Endpoint for example, with filter "(null)" removed
> DISCOVERY : discovery_registerSHMService : encoding data from HashMap 
> failed

As the registered services are held as a hashmap (based on netstring) 
in the shared memory, the plan was to do a remove instead of a put if 
the value is set to NULL. Probably it is a good idea to rename the 
discovery_registerSHMService when I use it for registering and 

> I have problems getting the code to run on my Mac. I run into several
> segfaults, so this needs some more testing before I can commit it.

I will take care about the issues mentioned above and provide an 
updated patch.

View raw message