[infinispan-dev] Moving functional API to core

Galder Zamarreño galder at redhat.com
Mon Jun 12 09:27:00 EDT 2017


Sounds good to me. 

Remember that functional API is marked as experimental, so it's fine to do things like this.

Cheers,
--
Galder Zamarreño
Infinispan, Red Hat

> On 9 Jun 2017, at 23:02, Radim Vansa <rvansa at redhat.com> wrote:
> 
> Hi guys,
> 
> when the functional API has been outline, the interfaces were put into 
> infinispan-commons to make it possible to share these between remote 
> clients and embedded use case. However, it seems that reusing this as-is 
> impossible or at least impractical as we cannot send the lambdas in a 
> language neutral way. In the future, we may implement a way to share 
> functions between client and a server but that will most likely result 
> in an interface accepting something else than Function<ReadWriteEntry, 
> R>. Also, it's rather weird to have two EntryVersion interfaces.
> 
> Therefore I suggest moving org.infinispan.commons.api.functional to 
> infinispan-core, package org.infinispan.api.functional
> 
> You might say that the server-side code would use the interfaces, but 
> once it's running on server, it should depend on core (or core-api) - 
> commons is what is shared with the client, and if the client will in 
> future register a new function on the server, the user code should 
> depend on core-api as well (client-hotrod itself does not have to).
> 
> If you wonder what led me to this is that I've tried to add 
> SerializableFunction overloads to the FunctionalMap and found out that 
> SerializableFunction et all are only in infinispan-core (for good).
> 
> Please let me know if you have objections/if there something I have missed.
> 
> Radim
> 
> -- 
> Radim Vansa <rvansa at redhat.com>
> JBoss Performance Team
> 
> _______________________________________________
> infinispan-dev mailing list
> infinispan-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/infinispan-dev




More information about the infinispan-dev mailing list