io.vertx.core.shareddata

## Interface SharedData

-     public interface SharedData

  Shared data allows you to share data safely between different parts of your application in a safe way.

  Shared data provides:

  - Cluster wide maps which can be accessed from any node of the cluster
  - Cluster wide locks which can be used to give exclusive access to resources across the cluster
  - Cluster wide counters used to maintain counts consistently across the cluster
  - Local maps for sharing data safely in the same Vert.x instance

  Please see the documentation for more information.

  Author:
    Tim Fox

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `<K,V> void` | `getClusterWideMap(String name, Handler<AsyncResult<AsyncMap<K,V>>> resultHandler)` Get the cluster wide map with the specified name.
    `void` | `getCounter(String name, Handler<AsyncResult<Counter>> resultHandler)` Get a cluster wide counter.
    `<K,V> LocalMap<K,V>` | `getLocalMap(String name)` Return a `LocalMap` with the specific `name`.
    `void` | `getLock(String name, Handler<AsyncResult<Lock>> resultHandler)` Get a cluster wide lock with the specified name.
    `void` | `getLockWithTimeout(String name, long timeout, Handler<AsyncResult<Lock>> resultHandler)` Like `getLock(String, Handler)` but specifying a timeout.

- - ### Method Detail

    - #### getClusterWideMap

          <K,V> void getClusterWideMap(String name,
                                       Handler<AsyncResult<AsyncMap<K,V>>> resultHandler)

      Get the cluster wide map with the specified name. The map is accessible to all nodes in the cluster and data put into the map from any node is visible to to any other node.
      Parameters:
        `name` - the name of the map
        `resultHandler` - the map will be returned asynchronously in this handler

    - #### getLock

          void getLock(String name,
                       Handler<AsyncResult<Lock>> resultHandler)

      Get a cluster wide lock with the specified name. The lock will be passed to the handler when it is available.
      Parameters:
        `name` - the name of the lock
        `resultHandler` - the handler

    - #### getLockWithTimeout

          void getLockWithTimeout(String name,
                                  long timeout,
                                  Handler<AsyncResult<Lock>> resultHandler)

      Like `getLock(String, Handler)` but specifying a timeout. If the lock is not obtained within the timeout a failure will be sent to the handler
      Parameters:
        `name` - the name of the lock
        `timeout` - the timeout in ms
        `resultHandler` - the handler

    - #### getCounter

          void getCounter(String name,
                          Handler<AsyncResult<Counter>> resultHandler)

      Get a cluster wide counter. The counter will be passed to the handler.
      Parameters:
        `name` - the name of the counter.
        `resultHandler` - the handler

    - #### getLocalMap

          <K,V> LocalMap<K,V> getLocalMap(String name)

      Return a `LocalMap` with the specific `name`.
      Parameters:
        `name` - the name of the map
      Returns:
        the msp

Copyright © 2017. All rights reserved.