You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 9 Next »

@startuml
class MembershipManagerFactory {
Creates the membership system, given the provided configuration
+ setConfig(GMSConfig)
+ setAuthenticator(GMSAuthenticator)
+ setMembershipListener(GMSMembershipListener)
+ setMessageHandler(GMSMessageHandler)
+ setStatsListener(GMSStatsListener)
+ create() : MembershipManager

}
interface MembershipManager {
Core class of a running membership system.
+ getMembershipView(): GMSMembershipView
+ getMessenger(): Messenger
+ getLocalMember(): GMSMember
+ close()
+ isClosed()
}
interface Messenger {
+ send(GMSMessage)
+ getMessageState(): Object
+ waitForMessageState(Object)
}
interface GMSMembershipView {
Provides the current members of the system
}
interface GMSMember {
A single member of the system
}
interface GMSMembershipListener {
Receives notifications about changes to membership
+ memberJoined(GMSMember)
+ memberDeparted(GMSMember)
+ forceDisconnected()
}
interface GMSMessageHandler {
Receives all messages sent from other members
+ processMessage(GMSMessage)
}
interface GMSAuthenticator {
Interface used by membership to authenticate other members

}
interface GMSStatsListener {
Interface to notify statistics systems about membership changes
+memberJoined()
+memberDeparted()
}
interface GMSConfig {
Configuration options for membership
+ setJoinTimeout()
+ {method} ...
}

MembershipManagerFactory --> MembershipManager : creates
MembershipManagerFactory *-- GMSMessageHandler
MembershipManagerFactory *-- GMSMembershipListener
MembershipManagerFactory *-- GMSAuthenticator
MembershipManagerFactory *-- GMSStatsListener
MembershipManagerFactory *-- GMSConfig
MembershipManager *-- Messenger
MembershipManager *-- GMSMembershipView
MembershipManager *-- GMSMember
@enduml


  • No labels