Class

com.twitter.finagle.zookeeper

ZkAnnouncer

Related Doc: package zookeeper

Permalink

class ZkAnnouncer extends Announcer

When announcing an endpoint with additional endpoints they all need to join the path together. However, announcements are decoupled and can happen in any order. The ZkAnnouncer will gather endpoints together in order to announce them as a group. Main endpoints are required and are thus announced immediately while additional endpoints are only announced if the path also has a main endpoint. For this reason if a main endpoint is announced first and an additional endpoint announced later, the announcer must leave the path and re-announce. The process is similar: leave the path, then remove either the additional endpoint or the main endpoint, re-join only if the main endpoint exists. Also it is also

Self Type
ZkAnnouncer
Note

announcing multiple endpoints can happen in two different ways. One by calling announce separately for each endpoint as mentioned above, and another by calling announce and passing additionalEndpoints to it directly in the same method call.

,

Requiring the shardId in some of the announce methods is an unfortunate artifact of the implementation of ServerSets. For most uses setting it to 0 is sufficient.

Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. ZkAnnouncer
  2. Announcer
  3. AnyRef
  4. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new ZkAnnouncer()

    Permalink
  2. new ZkAnnouncer(factory: ZkClientFactory)

    Permalink

Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. def announce(ia: InetSocketAddress, addr: String, metadata: Map[String, String], additionalEndpoints: Map[String, InetSocketAddress]): Future[Announcement]

    Permalink

    additionalEndpoints

    if this is non-empty these endpoints are announced along with the primary addr

  5. def announce(ia: InetSocketAddress, addr: String, metadata: Map[String, String]): Future[Announcement]

    Permalink
  6. def announce(ia: InetSocketAddress, addr: String): Future[Announcement]

    Permalink
    Definition Classes
    ZkAnnouncer → Announcer
  7. def announce(client: ZooKeeperClient, path: String, shardId: Int, addr: InetSocketAddress, endpoint: Option[String], metadata: Map[String, String], additionalEndpoints: Map[String, InetSocketAddress]): Future[Announcement]

    Permalink

    additionalEndpoints

    if this is non-empty these endpoints are announced along with the primary addr

  8. def announce(client: ZooKeeperClient, path: String, shardId: Int, addr: InetSocketAddress, endpoint: Option[String], metadata: Map[String, String]): Future[Announcement]

    Permalink
  9. def announce(client: ZooKeeperClient, path: String, shardId: Int, addr: InetSocketAddress, endpoint: Option[String]): Future[Announcement]

    Permalink
  10. def announce(hosts: String, path: String, shardId: Int, addr: InetSocketAddress, endpoint: Option[String], metadata: Map[String, String], additionalEndpoints: Map[String, InetSocketAddress]): Future[Announcement]

    Permalink

    additionalEndpoints

    if this is non-empty these endpoints are announced along with the primary addr

  11. def announce(hosts: String, path: String, shardId: Int, addr: InetSocketAddress, endpoint: Option[String], metadata: Map[String, String]): Future[Announcement]

    Permalink
  12. def announce(hosts: String, path: String, shardId: Int, addr: InetSocketAddress, endpoint: Option[String]): Future[Announcement]

    Permalink
  13. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  14. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  15. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  16. def equals(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  17. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  18. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  19. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  20. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  21. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  22. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  23. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  24. val scheme: String

    Permalink
    Definition Classes
    ZkAnnouncer → Announcer
  25. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  26. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  27. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  28. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  29. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from Announcer

Inherited from AnyRef

Inherited from Any

Ungrouped