mirror of
https://github.com/psforever/PSF-LoginServer.git
synced 2026-04-29 08:15:29 +00:00
25 lines
48 KiB
HTML
25 lines
48 KiB
HTML
|
|
<!DOCTYPE html ><html><head><meta http-equiv="X-UA-Compatible" content="IE=edge"/><meta content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" name="viewport"/><title>PSF-LoginServer - master - net.psforever.services.teamwork.SquadSwitchboard</title><meta content="PSF - LoginServer - master - net.psforever.services.teamwork.SquadSwitchboard" name="description"/><meta content="PSF LoginServer master net.psforever.services.teamwork.SquadSwitchboard" name="keywords"/><meta http-equiv="content-type" content="text/html; charset=UTF-8"/><link href="../../../../lib/index.css" media="screen" type="text/css" rel="stylesheet"/><link href="../../../../lib/template.css" media="screen" type="text/css" rel="stylesheet"/><link href="../../../../lib/print.css" media="print" type="text/css" rel="stylesheet"/><link href="../../../../lib/diagrams.css" media="screen" type="text/css" rel="stylesheet" id="diagrams-css"/><script type="text/javascript" src="../../../../lib/jquery.min.js"></script><script type="text/javascript" src="../../../../lib/index.js"></script><script type="text/javascript" src="../../../../index.js"></script><script type="text/javascript" src="../../../../lib/scheduler.js"></script><script type="text/javascript" src="../../../../lib/template.js"></script><script type="text/javascript">/* this variable can be used by the JS to determine the path to the root document */
|
||
|
|
var toRoot = '../../../../';</script></head><body><div id="search"><span id="doc-title">PSF-LoginServer - <span id="doc-version">master</span></span> <span class="close-results"><span class="left"><</span> Back</span><div id="textfilter"><span class="input"><input autocapitalize="none" placeholder="Search" id="index-input" type="text" accesskey="/"/><i class="clear material-icons"></i><i id="search-icon" class="material-icons"></i></span></div></div><div id="search-results"><div id="search-progress"><div id="progress-fill"></div></div><div id="results-content"><div id="entity-results"></div><div id="member-results"></div></div></div><div id="content-scroll-container" style="-webkit-overflow-scrolling: touch;"><div id="content-container" style="-webkit-overflow-scrolling: touch;"><div id="subpackage-spacer"><div id="packages"><h1>Packages</h1><ul><li class="indented0 " name="_root_.root" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="_root_"></a><a id="root:_root_"></a> <span class="permalink"><a href="../../../../index.html" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">package</span></span> <span class="symbol"><a href="../../../../index.html" title=""><span class="name">root</span></a></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd><a href="../../../../index.html" name="_root_" id="_root_" class="extype">root</a></dd></dl></div></li><li class="indented1 " name="_root_.net" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="net"></a><a id="net:net"></a> <span class="permalink"><a href="../../../../net/index.html" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">package</span></span> <span class="symbol"><a href="../../../index.html" title=""><span class="name">net</span></a></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd><a href="../../../../index.html" name="_root_" id="_root_" class="extype">root</a></dd></dl></div></li><li class="indented2 " name="net.psforever" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="psforever"></a><a id="psforever:psforever"></a> <span class="permalink"><a href="../../../../net/psforever/index.html" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">package</span></span> <span class="symbol"><a href="../../index.html" title=""><span class="name">psforever</span></a></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd><a href="../../../index.html" name="net" id="net" class="extype">net</a></dd></dl></div></li><li class="indented3 " name="net.psforever.services" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="services"></a><a id="services:services"></a> <span class="permalink"><a href="../../../../net/psforever/services/index.html" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">package</span></span> <span class="symbol"><a href="../index.html" title=""><span class="name">services</span></a></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd><a href="../../index.html" name="net.psforever" id="net.psforever" class="extype">psforever</a></dd></dl></div></li><li class="indented4 " name="net.psforever.services.teamwork" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="teamwork"></a><a id="teamwork:teamwork"></a> <span class="permalink"><a href="../../../../net/psforever/services/teamwork/index.html" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">package</span></span> <span class="symbol"><a href="index.html" title=""><span class="name">teamwor
|
||
|
|
It almost always dispatches messages to <code>WorldSessionActor</code> instances, much like any other <code>Service</code>.
|
||
|
|
The sole purpose of this <code>ActorBus</code> container is to manage a subscription model
|
||
|
|
that can involuntarily drop subscribers without informing them explicitly
|
||
|
|
or can just vanish without having to properly clean itself up.
|
||
|
|
</p></div><dl class="attributes block"><dt>Source</dt><dd><a href="https://github.com/psforever/PSF-LoginServer/blob/master//home/runner/work/PSF-LoginServer/PSF-LoginServer/src/main/scala/net/psforever/services/teamwork/SquadSwitchboard.scala" target="_blank">SquadSwitchboard.scala</a></dd></dl><div class="toggleContainer"><div class="toggle block"><span>Linear Supertypes</span><div class="superTypes hiddenContent"><span name="akka.actor.Actor" class="extype">Actor</span>, <span name="scala.AnyRef" class="extype">AnyRef</span>, <span name="scala.Any" class="extype">Any</span></div></div></div></div><div id="mbrsel"><div class="toggle"></div><div id="memberfilter"><i class="material-icons arrow"></i><span class="input"><input placeholder="Filter all members" id="mbrsel-input" type="text" accesskey="/"/></span><i class="clear material-icons"></i></div><div id="filterby"><div id="order"><span class="filtertype">Ordering</span><ol><li class="alpha in"><span>Alphabetic</span></li><li class="inherit out"><span>By Inheritance</span></li></ol></div><div class="ancestors"><span class="filtertype">Inherited<br/></span><ol id="linearization"><li class="in" name="net.psforever.services.teamwork.SquadSwitchboard"><span>SquadSwitchboard</span></li><li class="in" name="akka.actor.Actor"><span>Actor</span></li><li class="in" name="scala.AnyRef"><span>AnyRef</span></li><li class="in" name="scala.Any"><span>Any</span></li></ol></div><div class="ancestors"><span class="filtertype"></span><ol><li class="hideall out"><span>Hide All</span></li><li class="showall in"><span>Show All</span></li></ol></div><div id="visbl"><span class="filtertype">Visibility</span><ol><li class="public in"><span>Public</span></li><li class="protected out"><span>Protected</span></li></ol></div></div></div><div id="template"><div id="allMembers"><div id="constructors" class="members"><h3>Instance Constructors</h3><ol><li class="indented0 " name="net.psforever.services.teamwork.SquadSwitchboard#<init>" group="Ungrouped" fullComment="no" data-isabs="false" visbl="pub"><a id="<init>():net.psforever.services.teamwork.SquadSwitchboard"></a><a id="<init>:SquadSwitchboard"></a> <span class="permalink"><a href="../../../../net/psforever/services/teamwork/SquadSwitchboard.html#<init>():net.psforever.services.teamwork.SquadSwitchboard" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">new</span></span> <span class="symbol"><span class="name">SquadSwitchboard</span><span class="params">()</span></span></li></ol></div><div id="types" class="types members"><h3>Type Members</h3><ol><li class="indented0 " name="akka.actor.Actor.Receive" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="Receive=akka.actor.Actor.Receive"></a><a id="Receive:Receive"></a> <span class="permalink"><a href="../../../../net/psforever/services/teamwork/SquadSwitchboard.html#Receive=akka.actor.Actor.Receive" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">type</span></span> <span class="symbol"><span class="name">Receive</span><span class="result alias"> = <span name="scala.PartialFunction" class="extype">PartialFunction</span>[<span name="scala.Any" class="extype">Any</span>, <span name="scala.Unit" class="extype">Unit</span>]</span></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd>Actor</dd></dl></div></li></ol></div><div class="values members"><h3>Value Members</h3><ol><li class="indented0 " name="scala.AnyRef#!=" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="!=(x$1:Any):Boolean"></a><a id="!=(Any):Boolean"></a> <span class="permalink"><a href="../../../../net/psforever/services/teamwork/SquadSwitchboard.html#!=(x$1:Any):Boolean" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier">final </span> <span class="kind">def</span></span> <span cl
|
||
|
|
Users are added to this collection via the <code>SquadSwitchboard.DelayJoin</code> message
|
||
|
|
and are promoted to an actual squad member through a <code>SquadSwitchboard.Join</code> message.
|
||
|
|
The message <code>SquadSwitchboard.Leave</code> removes the user from this collection.
|
||
|
|
key - unique character id; value - <code>Actor</code> reference for that character
|
||
|
|
</p></div></div></li><li class="indented0 " name="net.psforever.services.teamwork.SquadSwitchboard#UserActorMap" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="UserActorMap:scala.collection.mutable.LongMap[akka.actor.ActorRef]"></a><a id="UserActorMap:LongMap[ActorRef]"></a> <span class="permalink"><a href="../../../../net/psforever/services/teamwork/SquadSwitchboard.html#UserActorMap:scala.collection.mutable.LongMap[akka.actor.ActorRef]" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">val</span></span> <span class="symbol"><span class="name">UserActorMap</span><span class="result">: <span name="scala.collection.mutable.LongMap" class="extype">LongMap</span>[<span name="akka.actor.ActorRef" class="extype">ActorRef</span>]</span></span><p class="shortcomment cmt">This collection contains the message-sending contact reference for squad members.</p><div class="fullcomment"><div class="comment cmt"><p>This collection contains the message-sending contact reference for squad members.
|
||
|
|
Users are added to this collection via the <code>SquadSwitchboard.Join</code> message, or a
|
||
|
|
combination of the <code>SquadSwitchboard.DelayJoin</code> message followed by a
|
||
|
|
<code>SquadSwitchboard.Join</code> message with or without an <code>ActorRef</code> hook.
|
||
|
|
The message <code>SquadSwitchboard.Leave</code> removes the user from this collection.
|
||
|
|
key - unique character id; value - <code>Actor</code> reference for that character
|
||
|
|
</p></div></div></li><li class="indented0 " name="net.psforever.services.teamwork.SquadSwitchboard#Watchers" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="Watchers:scala.collection.mutable.LongMap[akka.actor.ActorRef]"></a><a id="Watchers:LongMap[ActorRef]"></a> <span class="permalink"><a href="../../../../net/psforever/services/teamwork/SquadSwitchboard.html#Watchers:scala.collection.mutable.LongMap[akka.actor.ActorRef]" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">val</span></span> <span class="symbol"><span class="name">Watchers</span><span class="result">: <span name="scala.collection.mutable.LongMap" class="extype">LongMap</span>[<span name="akka.actor.ActorRef" class="extype">ActorRef</span>]</span></span><p class="shortcomment cmt">This collection contains the message-sending contact information for squad observers.</p><div class="fullcomment"><div class="comment cmt"><p>This collection contains the message-sending contact information for squad observers.
|
||
|
|
Squad observers only get "details" messages as opposed to the sort of messages squad members receive.
|
||
|
|
Squad observers are promoted to an actual squad member through a <code>SquadSwitchboard.Watch</code> message.
|
||
|
|
The message <code>SquadSwitchboard.Leave</code> removes the user from this collection.
|
||
|
|
The message <code>SquadSwitchboard.Unwatch</code> also removes the user from this collection.
|
||
|
|
key - unique character id; value - <code>Actor</code> reference for that character
|
||
|
|
</p></div></div></li><li class="indented0 " name="akka.actor.Actor#aroundPostRestart" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="prt"><a id="aroundPostRestart(reason:Throwable):Unit"></a><a id="aroundPostRestart(Throwable):Unit"></a> <span class="permalink"><a href="../../../../net/psforever/services/teamwork/SquadSwitchboard.html#aroundPostRestart(reason:Throwable):Unit" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">def</span></span> <span class="symbol"><span class="name">aroundPostRestart</span><span class="params">(<span name="reason">reason: <span name="scala.Throwable" class="extype">Throwable</span></span>)</span><span class="result">: <span name="scala.Unit" class="extype">Unit</span></span></span><div class="fullcomment"><dl class="attributes block"><dt>Attributes</dt><dd>protected[<a href="../../../../akka/index.html" name="akka" id="akka" class="extype">akka</a>] </dd><dt>Definition Classes</dt><dd>Actor</dd><dt>Annotations</dt><dd><span class="name">@InternalApi</span><span class="args">()</span> </dd></dl></div></li><li class="indented0 " name="akka.actor.Actor#aroundPostStop" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="prt"><a id="aroundPostStop():Unit"></a> <span class="permalink"><a href="../../../../net/psforever/services/teamwork/SquadSwitchboard.html#aroundPostStop():Unit" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">def</span></span> <span class="symbol"><span class="name">aroundPostStop</span><span class="params">()</span><span class="result">: <span name="scala.Unit" class="extype">Unit</span></span></span><div class="fullcomment"><dl class="attributes block"><dt>Attributes</dt><dd>protected[<a href="../../../../akka/index.html" name="akka" id="akka" class="extype">akka</a>] </dd><dt>Definition Classes</dt><dd>Actor</dd><dt>Annotations</dt><dd><span class="name">@InternalApi</span><span class="args">()</span> </dd></dl></div></li><li class="indented0 " name="akka.actor.Actor#aroundPreRestart" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="prt"><a id="aroundPreRestart(reason:Throwable,message:Option[Any]):Unit"></a><a id="aroundPreRestart(Throwable,Option[Any]):Unit"></a> <span class="permalink"><a href="../../../../net/psforever/services/teamwork/SquadSwitchboard.html#aroundPreRestart(reason:Throwable,message:Option[Any]):Unit" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">def</span></span> <span class="symbol"><span class="name">aroundPreRestart</span><span class="params">(<span name="reason">reason: <span name="scala.Throwable" class="extype">Throwable</span></span>, <span name="message">message: <span name="scala.Option" class="extype">Option</span>[<span name="scala.Any" class="extype">Any</span>]</span>)</span><span class="result">: <span name="scala.Unit" class="extype">Unit</span></span></span><div class="fullcomment"><dl class="attributes block"><dt>Attributes</dt><dd>protected[<a href="../../../../akka/index.html" name="akka" id="akka" class="extype">akka</a>] </dd><dt>Definition Classes</dt><dd>Actor</dd><dt>Annotations</dt><dd><span class="name">@InternalApi</span><span class="args">()</span> </dd></dl></div></li><li class="indented0 " name="akka.actor.Actor#aroundPreStart" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="prt"><a id="aroundPreStart():Unit"></a> <span class="permalink"><a href="../../../../net/psforever/services/teamwork/SquadSwitchboard.html#aroundPreStart():Unit" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">def</span></span> <span class="symbol"><span class="name">aroundPreStart</span><span class="params">()</span><span class="result">: <span name="scala.Unit" class="extype">Unit</span></span></span><div class="fullcomment"><dl cla
|