Class CrdtProtocol

java.lang.Object
io.atomix.protocols.gossip.CrdtProtocol
All Implemented Interfaces:
io.atomix.primitive.protocol.counter.CounterProtocol, io.atomix.primitive.protocol.GossipProtocol, io.atomix.primitive.protocol.PrimitiveProtocol, io.atomix.primitive.protocol.set.NavigableSetProtocol, io.atomix.primitive.protocol.set.SetProtocol, io.atomix.primitive.protocol.set.SortedSetProtocol, io.atomix.primitive.protocol.value.ValueProtocol

@Beta
public class CrdtProtocol
extends Object
implements io.atomix.primitive.protocol.GossipProtocol, io.atomix.primitive.protocol.counter.CounterProtocol, io.atomix.primitive.protocol.set.NavigableSetProtocol, io.atomix.primitive.protocol.value.ValueProtocol
Conflict-free Replicated Data Types (CRDT) protocol.
  • Nested Class Summary

    Nested Classes 
    Modifier and Type Class Description
    static class  CrdtProtocol.Type
    CRDT protocol type.
  • Field Summary

    Fields 
    Modifier and Type Field Description
    static CrdtProtocol.Type TYPE  
  • Method Summary

    Modifier and Type Method Description
    static CrdtProtocolBuilder builder()
    Returns a new CRDT protocol builder.
    static CrdtProtocol instance()
    Returns an instance of the CRDT protocol with the default configuration.
    io.atomix.primitive.protocol.counter.CounterDelegate newCounterDelegate​(String name, io.atomix.primitive.PrimitiveManagementService managementService)  
    <E> io.atomix.primitive.protocol.set.NavigableSetDelegate<E> newNavigableSetDelegate​(String name, io.atomix.utils.serializer.Serializer serializer, io.atomix.primitive.PrimitiveManagementService managementService)  
    <E> io.atomix.primitive.protocol.set.SetDelegate<E> newSetDelegate​(String name, io.atomix.utils.serializer.Serializer serializer, io.atomix.primitive.PrimitiveManagementService managementService)  
    <E> io.atomix.primitive.protocol.set.SortedSetDelegate<E> newSortedSetDelegate​(String name, io.atomix.utils.serializer.Serializer serializer, io.atomix.primitive.PrimitiveManagementService managementService)  
    io.atomix.primitive.protocol.value.ValueDelegate newValueDelegate​(String name, io.atomix.utils.serializer.Serializer serializer, io.atomix.primitive.PrimitiveManagementService managementService)  
    io.atomix.primitive.protocol.PrimitiveProtocol.Type type()  

    Methods inherited from class java.lang.Object

    equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

  • Method Details

    • instance

      public static CrdtProtocol instance()
      Returns an instance of the CRDT protocol with the default configuration.
      Returns:
      an instance of the CRDT protocol with the default configuration
    • builder

      public static CrdtProtocolBuilder builder()
      Returns a new CRDT protocol builder.
      Returns:
      a new CRDT protocol builder
    • type

      public io.atomix.primitive.protocol.PrimitiveProtocol.Type type()
      Specified by:
      type in interface io.atomix.primitive.protocol.PrimitiveProtocol
    • newCounterDelegate

      public io.atomix.primitive.protocol.counter.CounterDelegate newCounterDelegate​(String name, io.atomix.primitive.PrimitiveManagementService managementService)
      Specified by:
      newCounterDelegate in interface io.atomix.primitive.protocol.counter.CounterProtocol
    • newSetDelegate

      public <E> io.atomix.primitive.protocol.set.SetDelegate<E> newSetDelegate​(String name, io.atomix.utils.serializer.Serializer serializer, io.atomix.primitive.PrimitiveManagementService managementService)
      Specified by:
      newSetDelegate in interface io.atomix.primitive.protocol.set.SetProtocol
    • newSortedSetDelegate

      public <E> io.atomix.primitive.protocol.set.SortedSetDelegate<E> newSortedSetDelegate​(String name, io.atomix.utils.serializer.Serializer serializer, io.atomix.primitive.PrimitiveManagementService managementService)
      Specified by:
      newSortedSetDelegate in interface io.atomix.primitive.protocol.set.SortedSetProtocol
    • newNavigableSetDelegate

      public <E> io.atomix.primitive.protocol.set.NavigableSetDelegate<E> newNavigableSetDelegate​(String name, io.atomix.utils.serializer.Serializer serializer, io.atomix.primitive.PrimitiveManagementService managementService)
      Specified by:
      newNavigableSetDelegate in interface io.atomix.primitive.protocol.set.NavigableSetProtocol
    • newValueDelegate

      public io.atomix.primitive.protocol.value.ValueDelegate newValueDelegate​(String name, io.atomix.utils.serializer.Serializer serializer, io.atomix.primitive.PrimitiveManagementService managementService)
      Specified by:
      newValueDelegate in interface io.atomix.primitive.protocol.value.ValueProtocol