PSF-LoginServer/net/psforever/packet/PacketCoding$.html

10 lines
43 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.packet.PacketCoding</title><meta content="PSF - LoginServer - master - net.psforever.packet.PacketCoding" name="description"/><meta content="PSF LoginServer master net.psforever.packet.PacketCoding" 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">&lt;</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_" class="anchorToMember"></a><a id="root:_root_" class="anchorToMember"></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" class="anchorToMember"></a><a id="net:net" class="anchorToMember"></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" class="anchorToMember"></a><a id="psforever:psforever" class="anchorToMember"></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.packet" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="packet" class="anchorToMember"></a><a id="packet:packet" class="anchorToMember"></a> <span class="permalink"><a href="../../../net/psforever/packet/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">packet</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.packet.control" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="control" class="anchorToMember"></a><a id="control:control" class="anchorToMember"></a> <span class="permalink"><a href="../../../net/psforever/packet/control/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="control/index.html" title=""><span class="name">control</span></a></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd><a href="index.html" name="net.psforever.packet" id="net.psforever.packet" class="extype">packet</a></dd></dl></div></li><li class="indented4 " name="net.psforever.packet.crypto" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="crypto" class="anchorToMember"></a><a id="crypto:crypto" class="anchorToMember"></a> <span class="permalink"><a href="../../../net/psforever/packet/crypto/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="crypto/index.html" title=""><span class="name">crypto</span></a></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd><a href="index.html" name="net.psforever.packet" id="net.psforever.packet" class="extype">packet</a></dd></dl></div></li><li class="indented4 " name="net.psforever.packet.game" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="game" class="anchorToMember"></a><a id="game:game" class="anchorToMember"></a> <span class="permalink"><a href="../../../net/psforever/packet/game/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="game/index.html" title=""><span class="name">game</span></a></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd><a href="index.html" name="net.psforever.packet" id="net.psforever.packet" class="extype">packet</a></dd></dl></div></li><li class="indented4 " name="net.psforever.packet.reset" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="reset" class="anchorToMember"></a><a id="reset:reset" class="anchorToMember"></a> <span class="permalink"><a href="../../../net/psforever/packet/reset/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="reset/index.html" title=""><span class="name">reset</span></a></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd><a href="index.html" name="net.psforever.packet" id="net.psforever.packet" class="extype">packet</a></dd></dl></div></li><li class="current-entities indented3"><span class="separator"></span> <a href="ControlPacketOpcode$.html" title="" class="object"></a><a href="ControlPacketOpcode$.html" title="">ControlPacketOpcode</a></li><li class="current-entities indented3"><span class="separator"></span> <a href="CryptoPacketOpcode$.html" title="" class="object"></a><a href="CryptoPacketOpcode$.html" title="">CryptoPacketOpcode</a></li><li class="current-entities indented3"><span class="separator"></span> <a href="GamePacketOpcode$.html" title="The master list of Game packet opcodes that have been discovered in the PlanetSide client." class="object"></a><a href="GamePacketOpcode$.html" title="The master list of Game packet opcodes that have been discovered in the PlanetSide client.">GamePacketOpcode</a></li><li class="current-entities indented3"><span class="separator"></span> <a href="Marshallable.html" title="Used by companion objects to create encoders and decoders" class="trait"></a><a href="Marshallable.html" title="Used by companion objects to create encoders and decoders">Marshallable</a></li><li class="current-entities indented3"><span class="separator"></span> <a href="" title="" class="object"></a><a href="" title="">PacketCoding</a></li><li class="current-entities indented3"><span class="separator"></span> <a href="PacketHelpers$.html" title="" class="object"></a><a href="PacketHelpers$.html" title="">PacketHelpers</a></li><li class="current-entities indented3"><span class="separator"></span> <a href="PacketType$.html" title="PlanetSide packet type." class="object"></a><a href="PacketType$.html" title="PlanetSide packet type.">PacketType</a></li><li class="current-entities indented3"><span class="separator"></span> <a href="PlanetSideControlPacket.html" title="PlanetSide control packets: net.psforever.packet.control._" class="trait"></a><a href="PlanetSideControlPacket.html" title="PlanetSide control packets: net.psforever.packet.control._">PlanetSideControlPacket</a></li><li class="current-entities indented3"><span class="separator"></span> <a href="PlanetSideCryptoPacket.html" title="PlanetSide crypto packets: net.psforever.packet.crypto._" class="trait"></a><a href="PlanetSideCryptoPacket.html" title="PlanetSide crypto packets: net.psforever.packet.crypto._">PlanetSideCryptoPacket</a></li><li class="current-entities indented3"><span class="separator"></span> <a href="PlanetSideGamePacket.html" title="PlanetSide game packets: net.psforever.packet.game._" class="trait"></a><a href="PlanetSideGamePacket.html" title="PlanetSide game packets: net.psforever.packet.game._">PlanetSideGamePacket</a></li><li class="current-entities indented3"><span class="separator"></span> <a href="PlanetSidePacket.html" title="The base of all packets" class="trait"></a><a href="PlanetSidePacket.html" title="The base of all packets">PlanetSidePacket</a></li><li class="current-entities indented3"><a href="PlanetSidePacketFlags$.html" title="Codec for PlanetSidePacketFlags" class="object"></a> <a href="PlanetSidePacketFlags.html" title="PlanetSide packet flags (beginning of most packets)" class="class"></a><a href="PlanetSidePacketFlags.html" title="PlanetSide packet flags (beginning of most packets)">PlanetSidePacketFlags</a></li><li class="current-entities indented3"><span class="separator"></span> <a href="PlanetSideResetSequencePacket.html" title="PlanetSide ResetSequence packets: self-contained?" class="trait"></a><a href="PlanetSideResetSequencePacket.html" title="PlanetSide ResetSequence packets: self-contained?">PlanetSideResetSequencePacket</a></li><li class="current-entities indented3"><span class="separator"></span> <a href="ResetSequenceOpcode$.html" title="" class="object"></a><a href="ResetSequenceOpcode$.html" title="">ResetSequenceOpcode</a></li></ul></div></div><div id="content"><body class="object value"><div id="definition"><div class="big-circle object">o</div><p id="owner"><a href="../../index.html" name="net" id="net" class="extype">net</a>.<a href="../index.html" name="net.psforever" id="net.psforever" class="extype">psforever</a>.<a href="index.html" name="net.psforever.packet" id="net.psforever.packet" class="extype">packet</a></p><h1>PacketCoding<span class="permalink"><a href="../../../net/psforever/packet/PacketCoding$.html" title="Permalink"><i class="material-icons"></i></a></span></h1><h3><span class="morelinks"></span></h3></div><h4 id="signature" class="signature"><span class="modifier_kind"><span class="modifier"></span> <span class="kind">object</span></span> <span class="symbol"><span class="name">PacketCoding</span></span></h4><div id="comment" class="fullcommenttop"><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/packet/PacketCoding.scala" target="_blank">PacketCoding.scala</a></dd></dl><div class="toggleContainer"><div class="toggle block"><span>Linear Supertypes</span><div class="superTypes hiddenContent"><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.packet.PacketCoding"><span>PacketCoding</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="types" class="types members"><h3>Type Members</h3><ol><li class="indented0 " name="net.psforever.packet.PacketCoding.CryptoCoding" group="Ungrouped" fullComment="no" data-isabs="false" visbl="pub"><a id="CryptoCodingextendsProductwithSerializable" class="anchorToMember"></a><a id="CryptoCoding:CryptoCoding" class="anchorToMember"></a> <span class="permalink"><a href="../../../net/psforever/packet/PacketCoding$$CryptoCoding.html" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier"></span> <span class="kind">case class</span></span> <span class="symbol"><a href="PacketCoding$$CryptoCoding.html" title=""><span class="name">CryptoCoding</span></a><span class="params">(<span name="rc5EncryptionKey">rc5EncryptionKey: <a href="https://docs.oracle.com/javase/8/docs/api/java/security/Key.html#java.security.Key" name="java.security.Key" id="java.security.Key" class="extype">Key</a></span>, <span name="rc5DecryptionKey">rc5DecryptionKey: <a href="https://docs.oracle.com/javase/8/docs/api/java/security/Key.html#java.security.Key" name="java.security.Key" id="java.security.Key" class="extype">Key</a></span>, <span name="macEncryptionKey">macEncryptionKey: <span name="scodec.bits.ByteVector" class="extype">ByteVector</span></span>, <span name="macDecryptionKey">macDecryptionKey: <span name="scodec.bits.ByteVector" class="extype">ByteVector</span></span>)</span><span class="result"> extends <span name="scala.Product" class="extype">Product</span> with <span name="scala.Serializable" class="extype">Serializable</span></span></span></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" class="anchorToMember"></a><a id="!=(Any):Boolean" class="anchorToMember"></a> <span class="permalink"><a href="../../../net/psforever/packet/PacketCoding$.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 class="symbol"><span class="name" title="gt4s: $bang$eq">!=</span><span class="params">(<span name="arg0">arg0: <span name="scala.Any" class="extype">Any</span></span>)</span><span class="result">: <span name="scala.Boolean" class="extype">Boolean</span></span></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd>AnyRef → Any</dd></dl></div></li><li class="indented0 " name="scala.AnyRef###" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="##:Int" class="anchorToMember"></a> <span class="permalink"><a href="../../../net/psforever/packet/PacketCoding$.html###:Int" 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 class="symbol"><span class="name" title="gt4s: $hash$hash">##</span><span class="result">: <span name="scala.Int" class="extype">Int</span></span></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd>AnyRef → Any</dd></dl></div></li><li class="indented0 " name="scala.AnyRef#==" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="==(x$1:Any):Boolean" class="anchorToMember"></a><a id="==(Any):Boolean" class="anchorToMember"></a> <span class="permalink"><a href="../../../net/psforever/packet/PacketCoding$.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 class="symbol"><span class="name" title="gt4s: $eq$eq">==</span><span class="params">(<span name="arg0">arg0: <span name="scala.Any" class="extype">Any</span></span>)</span><span class="result">: <span name="scala.Boolean" class="extype">Boolean</span></span></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd>AnyRef → Any</dd></dl></div></li><li class="indented0 " name="net.psforever.packet.PacketCoding#PLANETSIDE_MIN_PACKET_SIZE" group="Ungrouped" fullComment="no" data-isabs="false" visbl="pub"><a id="PLANETSIDE_MIN_PACKET_SIZE:Int(1)" class="anchorToMember"></a> <span class="permalink"><a href="../../../net/psforever/packet/PacketCoding$.html#PLANETSIDE_MIN_PACKET_SIZE:Int(1)" title="Permalink"><i class="material-icons"></i></a></span> <span class="modifier_kind"><span class="modifier">final </span> <span class="kind">val</span></span> <span class="symbol"><span class="name">PLANETSIDE_MIN_PACKET_SIZE</span><span class="result">: Int(1)</span></span><p class="shortcomment cmt">A lower bound on the packet size</p></li><li class="indented0 " name="net.psforever.packet.PacketCoding#RC5_BLOCK_SIZE" group="Ungrouped" fullComment="no" data-isabs="false" visbl="pub"><a id="RC5_BLOCK_SIZE:Int" class="anchorToMember"></a> <span class="permalink"><a href="../../../net/psforever/packet/PacketCoding$.html#RC5_BLOCK_SIZE:Int" 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">RC5_BLOCK_SIZE</span><span class="result">: <span name="scala.Int" class="extype">Int</span></span></span></li><li class="indented0 " name="scala.Any#asInstanceOf" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="asInstanceOf[T0]:T0" class="anchorToMember"></a> <span class="permalink"><a href="../../../net/psforever/packet/PacketCoding$.html#asInstanceOf[T0]:T0" 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 class="symbol"><span class="name">asInstanceOf</span><span class="tparams">[<span name="T0">T0</span>]</span><span class="result">: <span name="scala.Any.asInstanceOf.T0" class="extype">T0</span></span></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd>Any</dd></dl></div></li><li class="indented0 " name="scala.AnyRef#clone" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="prt"><a id="clone():Object" class="anchorToMember"></a><a id="clone():AnyRef" class="anchorToMember"></a> <span class="permalink"><a href="../../../net/psforever/packet/PacketCoding$.html#clone():Object" 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">clone</span><span class="params">()</span><span class="result">: <span name="scala.AnyRef" class="extype">AnyRef</span></span></span><div class="fullcomment"><dl class="attributes block"><dt>Attributes</dt><dd>protected[<span name="java.lang" class="extype">lang</span>] </dd><dt>Definition Classes</dt><dd>AnyRef</dd><dt>Annotations</dt><dd><span class="name">@throws</span><span class="args">(<span><span class="defval">classOf[java.lang.CloneNotSupportedException]</span></span>)</span> <span class="name">@native</span><span class="args">()</span> </dd></dl></div></li><li class="indented0 " name="net.psforever.packet.PacketCoding#decodePacket" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="decodePacket(msg:scodec.bits.ByteVector):scodec.Attempt[net.psforever.packet.PlanetSidePacket]" class="anchorToMember"></a><a id="decodePacket(ByteVector):Attempt[PlanetSidePacket]" class="anchorToMember"></a> <span class="permalink"><a href="../../../net/psforever/packet/PacketCoding$.html#decodePacket(msg:scodec.bits.ByteVector):scodec.Attempt[net.psforever.packet.PlanetSidePacket]" 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">decodePacket</span><span class="params">(<span name="msg">msg: <span name="scodec.bits.ByteVector" class="extype">ByteVector</span></span>)</span><span class="result">: <span name="scodec.Attempt" class="extype">Attempt</span>[<a href="PlanetSidePacket.html" name="net.psforever.packet.PlanetSidePacket" id="net.psforever.packet.PlanetSidePacket" class="extype">PlanetSidePacket</a>]</span></span><p class="shortcomment cmt">Transforms <code>ByteVector</code> data into a PlanetSide packet.</p><div class="fullcomment"><div class="comment cmt"><p>Transforms <code>ByteVector</code> data into a PlanetSide packet.
Similar to the <code>UnmarshalPacket</code> but it does not process packet headers.
It supports <code>GamePacket</code> in exchange for not supporting <code>CryptoPacket</code> (like <code>UnMarshalPacket</code>).
Mostly used in tests.</p></div><dl class="paramcmts block"><dt class="param">msg</dt><dd class="cmt"><p>raw, unencrypted packet</p></dd><dt>returns</dt><dd class="cmt"><p><code>PlanetSidePacket</code></p></dd></dl><dl class="attributes block"><dt>See also</dt><dd><span class="cmt"><p><code>UnMarshalPacket</code></p></span></dd></dl></div></li><li class="indented0 " name="net.psforever.packet.PacketCoding#encodePacket" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="encodePacket(packet:net.psforever.packet.PlanetSidePacket):scodec.Attempt[scodec.bits.BitVector]" class="anchorToMember"></a><a id="encodePacket(PlanetSidePacket):Attempt[BitVector]" class="anchorToMember"></a> <span class="permalink"><a href="../../../net/psforever/packet/PacketCoding$.html#encodePacket(packet:net.psforever.packet.PlanetSidePacket):scodec.Attempt[scodec.bits.BitVector]" 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">encodePacket</span><span class="params">(<span name="packet">packet: <a href="PlanetSidePacket.html" name="net.psforever.packet.PlanetSidePacket" id="net.psforever.packet.PlanetSidePacket" class="extype">PlanetSidePacket</a></span>)</span><span class="result">: <span name="scodec.Attempt" class="extype">Attempt</span>[<span name="scodec.bits.BitVector" class="extype">BitVector</span>]</span></span><p class="shortcomment cmt">Transform a <code>PlanetSidePacket</code> into its <code>BitVector</code> representation.</p><div class="fullcomment"><div class="comment cmt"><p>Transform a <code>PlanetSidePacket</code> into its <code>BitVector</code> representation.</p></div><dl class="paramcmts block"><dt class="param">packet</dt><dd class="cmt"><p>the packet to encode</p></dd><dt>returns</dt><dd class="cmt"><p>a <code>BitVector</code> translated from the packet's data</p></dd></dl></div></li><li class="indented0 " name="scala.AnyRef#eq" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="eq(x$1:AnyRef):Boolean" class="anchorToMember"></a><a id="eq(AnyRef):Boolean" class="anchorToMember"></a> <span class="permalink"><a href="../../../net/psforever/packet/PacketCoding$.html#eq(x$1:AnyRef):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 class="symbol"><span class="name">eq</span><span class="params">(<span name="arg0">arg0: <span name="scala.AnyRef" class="extype">AnyRef</span></span>)</span><span class="result">: <span name="scala.Boolean" class="extype">Boolean</span></span></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd>AnyRef</dd></dl></div></li><li class="indented0 " name="scala.AnyRef#equals" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="equals(x$1:Object):Boolean" class="anchorToMember"></a><a id="equals(AnyRef):Boolean" class="anchorToMember"></a> <span class="permalink"><a href="../../../net/psforever/packet/PacketCoding$.html#equals(x$1:Object):Boolean" 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">equals</span><span class="params">(<span name="arg0">arg0: <span name="scala.AnyRef" class="extype">AnyRef</span></span>)</span><span class="result">: <span name="scala.Boolean" class="extype">Boolean</span></span></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd>AnyRef → Any</dd></dl></div></li><li class="indented0 " name="scala.AnyRef#finalize" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="prt"><a id="finalize():Unit" class="anchorToMember"></a> <span class="permalink"><a href="../../../net/psforever/packet/PacketCoding$.html#finalize():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">finalize</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[<span name="java.lang" class="extype">lang</span>] </dd><dt>Definition Classes</dt><dd>AnyRef</dd><dt>Annotations</dt><dd><span class="name">@throws</span><span class="args">(<span><span class="symbol">classOf[java.lang.Throwable]</span></span>)</span> </dd></dl></div></li><li class="indented0 " name="scala.AnyRef#getClass" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="getClass():Class[_]" class="anchorToMember"></a><a id="getClass():Class[_&lt;:AnyRef]" class="anchorToMember"></a> <span class="permalink"><a href="../../../net/psforever/packet/PacketCoding$.html#getClass():Class[_]" 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 class="symbol"><span class="name">getClass</span><span class="params">()</span><span class="result">: <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/Class.html#java.lang.Class" name="java.lang.Class" id="java.lang.Class" class="extype">Class</a>[_ &lt;: <span name="scala.AnyRef" class="extype">AnyRef</span>]</span></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd>AnyRef → Any</dd><dt>Annotations</dt><dd><span class="name">@native</span><span class="args">()</span> </dd></dl></div></li><li class="indented0 " name="scala.AnyRef#hashCode" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="hashCode():Int" class="anchorToMember"></a> <span class="permalink"><a href="../../../net/psforever/packet/PacketCoding$.html#hashCode():Int" 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">hashCode</span><span class="params">()</span><span class="result">: <span name="scala.Int" class="extype">Int</span></span></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd>AnyRef → Any</dd><dt>Annotations</dt><dd><span class="name">@native</span><span class="args">()</span> </dd></dl></div></li><li class="indented0 " name="scala.Any#isInstanceOf" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="isInstanceOf[T0]:Boolean" class="anchorToMember"></a> <span class="permalink"><a href="../../../net/psforever/packet/PacketCoding$.html#isInstanceOf[T0]: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 class="symbol"><span class="name">isInstanceOf</span><span class="tparams">[<span name="T0">T0</span>]</span><span class="result">: <span name="scala.Boolean" class="extype">Boolean</span></span></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd>Any</dd></dl></div></li><li class="indented0 " name="net.psforever.packet.PacketCoding#marshalPacket" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="marshalPacket(packet:net.psforever.packet.PlanetSidePacket,sequence:Option[Int],crypto:Option[net.psforever.packet.PacketCoding.CryptoCoding]):scodec.Attempt[scodec.bits.BitVector]" class="anchorToMember"></a><a id="marshalPacket(PlanetSidePacket,Option[Int],Option[CryptoCoding]):Attempt[BitVector]" class="anchorToMember"></a> <span class="permalink"><a href="../../../net/psforever/packet/PacketCoding$.html#marshalPacket(packet:net.psforever.packet.PlanetSidePacket,sequence:Option[Int],crypto:Option[net.psforever.packet.PacketCoding.CryptoCoding]):scodec.Attempt[scodec.bits.BitVector]" 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">marshalPacket</span><span class="params">(<span name="packet">packet: <a href="PlanetSidePacket.html" name="net.psforever.packet.PlanetSidePacket" id="net.psforever.packet.PlanetSidePacket" class="extype">PlanetSidePacket</a></span>, <span name="sequence">sequence: <span name="scala.Option" class="extype">Option</span>[<span name="scala.Int" class="extype">Int</span>] = <span class="symbol">None</span></span>, <span name="crypto">crypto: <span name="scala.Option" class="extype">Option</span>[<a href="PacketCoding$$CryptoCoding.html" name="net.psforever.packet.PacketCoding.CryptoCoding" id="net.psforever.packet.PacketCoding.CryptoCoding" class="extype">CryptoCoding</a>] = <span class="symbol">None</span></span>)</span><span class="result">: <span name="scodec.Attempt" class="extype">Attempt</span>[<span name="scodec.bits.BitVector" class="extype">BitVector</span>]</span></span><p class="shortcomment cmt">Transform a kind of packet into the sequence of data that represents it.</p><div class="fullcomment"><div class="comment cmt"><p>Transform a kind of packet into the sequence of data that represents it.
Wraps around the encoding process for all valid packet container types.</p></div><dl class="paramcmts block"><dt class="param">packet</dt><dd class="cmt"><p>the packet to encode</p></dd><dt class="param">sequence</dt><dd class="cmt"><p>the packet's sequence number. Must be set for all non ControlPacket packets (but always for encrypted packets).</p></dd><dt class="param">crypto</dt><dd class="cmt"><p>if set, encrypt final payload</p></dd><dt>returns</dt><dd class="cmt"><p>a <code>BitVector</code> translated from the packet's data</p></dd></dl></div></li><li class="indented0 " name="scala.AnyRef#ne" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="ne(x$1:AnyRef):Boolean" class="anchorToMember"></a><a id="ne(AnyRef):Boolean" class="anchorToMember"></a> <span class="permalink"><a href="../../../net/psforever/packet/PacketCoding$.html#ne(x$1:AnyRef):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 class="symbol"><span class="name">ne</span><span class="params">(<span name="arg0">arg0: <span name="scala.AnyRef" class="extype">AnyRef</span></span>)</span><span class="result">: <span name="scala.Boolean" class="extype">Boolean</span></span></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd>AnyRef</dd></dl></div></li><li class="indented0 " name="scala.AnyRef#notify" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="notify():Unit" class="anchorToMember"></a> <span class="permalink"><a href="../../../net/psforever/packet/PacketCoding$.html#notify():Unit" 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 class="symbol"><span class="name">notify</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>Definition Classes</dt><dd>AnyRef</dd><dt>Annotations</dt><dd><span class="name">@native</span><span class="args">()</span> </dd></dl></div></li><li class="indented0 " name="scala.AnyRef#notifyAll" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="notifyAll():Unit" class="anchorToMember"></a> <span class="permalink"><a href="../../../net/psforever/packet/PacketCoding$.html#notifyAll():Unit" 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 class="symbol"><span class="name">notifyAll</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>Definition Classes</dt><dd>AnyRef</dd><dt>Annotations</dt><dd><span class="name">@native</span><span class="args">()</span> </dd></dl></div></li><li class="indented0 " name="scala.AnyRef#synchronized" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="synchronized[T0](x$1:=&gt;T0):T0" class="anchorToMember"></a><a id="synchronized[T0](=&gt;T0):T0" class="anchorToMember"></a> <span class="permalink"><a href="../../../net/psforever/packet/PacketCoding$.html#synchronized[T0](x$1:=&gt;T0):T0" 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 class="symbol"><span class="name">synchronized</span><span class="tparams">[<span name="T0">T0</span>]</span><span class="params">(<span name="arg0">arg0: =&gt; <span name="java.lang.AnyRef.synchronized.T0" class="extype">T0</span></span>)</span><span class="result">: <span name="java.lang.AnyRef.synchronized.T0" class="extype">T0</span></span></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd>AnyRef</dd></dl></div></li><li class="indented0 " name="scala.AnyRef#toString" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="toString():String" class="anchorToMember"></a> <span class="permalink"><a href="../../../net/psforever/packet/PacketCoding$.html#toString():String" 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">toString</span><span class="params">()</span><span class="result">: <a href="https://docs.oracle.com/javase/8/docs/api/java/lang/String.html#java.lang.String" name="java.lang.String" id="java.lang.String" class="extype">String</a></span></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd>AnyRef → Any</dd></dl></div></li><li class="indented0 " name="net.psforever.packet.PacketCoding#unmarshalPacket" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="unmarshalPacket(msg:scodec.bits.ByteVector,crypto:Option[net.psforever.packet.PacketCoding.CryptoCoding],cryptoState:net.psforever.packet.CryptoPacketOpcode.Type):scodec.Attempt[(net.psforever.packet.PlanetSidePacket,Option[Int])]" class="anchorToMember"></a><a id="unmarshalPacket(ByteVector,Option[CryptoCoding],Type):Attempt[(PlanetSidePacket,Option[Int])]" class="anchorToMember"></a> <span class="permalink"><a href="../../../net/psforever/packet/PacketCoding$.html#unmarshalPacket(msg:scodec.bits.ByteVector,crypto:Option[net.psforever.packet.PacketCoding.CryptoCoding],cryptoState:net.psforever.packet.CryptoPacketOpcode.Type):scodec.Attempt[(net.psforever.packet.PlanetSidePacket,Option[Int])]" 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">unmarshalPacket</span><span class="params">(<span name="msg">msg: <span name="scodec.bits.ByteVector" class="extype">ByteVector</span></span>, <span name="crypto">crypto: <span name="scala.Option" class="extype">Option</span>[<a href="PacketCoding$$CryptoCoding.html" name="net.psforever.packet.PacketCoding.CryptoCoding" id="net.psforever.packet.PacketCoding.CryptoCoding" class="extype">CryptoCoding</a>] = <span class="symbol">None</span></span>, <span name="cryptoState">cryptoState: <a href="CryptoPacketOpcode$.html#Type=net.psforever.packet.CryptoPacketOpcode.Value" name="net.psforever.packet.CryptoPacketOpcode.Type" id="net.psforever.packet.CryptoPacketOpcode.Type" class="extmbr">Type</a> = <span class="symbol"><span class="name"><a href="CryptoPacketOpcode$.html">CryptoPacketOpcode.Ignore</a></span></span></span>)</span><span class="result">: <span name="scodec.Attempt" class="extype">Attempt</span>[(<a href="PlanetSidePacket.html" name="net.psforever.packet.PlanetSidePacket" id="net.psforever.packet.PlanetSidePacket" class="extype">PlanetSidePacket</a>, <span name="scala.Option" class="extype">Option</span>[<span name="scala.Int" class="extype">Int</span>])]</span></span><p class="shortcomment cmt">Transforms <code>ByteVector</code> data into a PlanetSide packet.</p><div class="fullcomment"><div class="comment cmt"><p>Transforms <code>ByteVector</code> data into a PlanetSide packet.
Attempt to decode with an optional header and required payload.
Does not decode into a <code>GamePacket</code>.</p></div><dl class="paramcmts block"><dt class="param">msg</dt><dd class="cmt"><p>the raw packet</p></dd><dt class="param">crypto</dt><dd class="cmt"><p>CryptoCoding instance for packet decryption, if this is a encrypted packet</p></dd><dt class="param">cryptoState</dt><dd class="cmt"><p>the current state of the connection's crypto. This is only used when decoding
crypto packets as they do not have opcodes</p></dd><dt>returns</dt><dd class="cmt"><p><code>PlanetSidePacketContainer</code></p></dd></dl></div></li><li class="indented0 " name="scala.AnyRef#wait" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="wait():Unit" class="anchorToMember"></a> <span class="permalink"><a href="../../../net/psforever/packet/PacketCoding$.html#wait():Unit" 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 class="symbol"><span class="name">wait</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>Definition Classes</dt><dd>AnyRef</dd><dt>Annotations</dt><dd><span class="name">@throws</span><span class="args">(<span><span class="defval">classOf[java.lang.InterruptedException]</span></span>)</span> </dd></dl></div></li><li class="indented0 " name="scala.AnyRef#wait" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="wait(x$1:Long,x$2:Int):Unit" class="anchorToMember"></a><a id="wait(Long,Int):Unit" class="anchorToMember"></a> <span class="permalink"><a href="../../../net/psforever/packet/PacketCoding$.html#wait(x$1:Long,x$2:Int):Unit" 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 class="symbol"><span class="name">wait</span><span class="params">(<span name="arg0">arg0: <span name="scala.Long" class="extype">Long</span></span>, <span name="arg1">arg1: <span name="scala.Int" class="extype">Int</span></span>)</span><span class="result">: <span name="scala.Unit" class="extype">Unit</span></span></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd>AnyRef</dd><dt>Annotations</dt><dd><span class="name">@throws</span><span class="args">(<span><span class="defval">classOf[java.lang.InterruptedException]</span></span>)</span> </dd></dl></div></li><li class="indented0 " name="scala.AnyRef#wait" group="Ungrouped" fullComment="yes" data-isabs="false" visbl="pub"><a id="wait(x$1:Long):Unit" class="anchorToMember"></a><a id="wait(Long):Unit" class="anchorToMember"></a> <span class="permalink"><a href="../../../net/psforever/packet/PacketCoding$.html#wait(x$1:Long):Unit" 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 class="symbol"><span class="name">wait</span><span class="params">(<span name="arg0">arg0: <span name="scala.Long" class="extype">Long</span></span>)</span><span class="result">: <span name="scala.Unit" class="extype">Unit</span></span></span><div class="fullcomment"><dl class="attributes block"><dt>Definition Classes</dt><dd>AnyRef</dd><dt>Annotations</dt><dd><span class="name">@throws</span><span class="args">(<span><span class="defval">classOf[java.lang.InterruptedException]</span></span>)</span> <span class="name">@native</span><span class="args">()</span> </dd></dl></div></li></ol></div></div><div id="inheritedMembers"><div name="scala.AnyRef" class="parent"><h3>Inherited from <span name="scala.AnyRef" class="extype">AnyRef</span></h3></div><div name="scala.Any" class="parent"><h3>Inherited from <span name="scala.Any" class="extype">Any</span></h3></div></div><div id="groupedMembers"><div name="Ungrouped" class="group"><h3>Ungrouped</h3></div></div></div><div id="tooltip"></div><div id="footer"></div></body></div></div></div></body></html>