29 private array $experiments,
30 private bool $hasPreviouslyUsedExperiments
36 public function hasPreviouslyUsedExperiments() : bool{ return $this->hasPreviouslyUsedExperiments; }
38 public static function read(ByteBufferReader $in) : self{
40 for($i = 0, $len = LE::readUnsignedInt($in); $i < $len; ++$i){
41 $experimentName = CommonTypes::getString($in);
42 $enabled = CommonTypes::getBool($in);
43 $experiments[$experimentName] = $enabled;
45 $hasPreviouslyUsedExperiments = CommonTypes::getBool($in);
46 return new self($experiments, $hasPreviouslyUsedExperiments);
49 public function write(ByteBufferWriter $out) : void{
50 LE::writeUnsignedInt($out, count($this->experiments));
51 foreach($this->experiments as $experimentName => $enabled){
52 CommonTypes::putString($out, $experimentName);
53 CommonTypes::putBool($out, $enabled);
55 CommonTypes::putBool($out, $this->hasPreviouslyUsedExperiments);