public sealed class SessionClientTargetThe client's receive path: what a server can talk a client into.
No guide page documents this yet — the page shows what the code says about itself.
Remarks
Less exposed than the server's and worth fuzzing anyway. A client believes rather a lot about the peer it connected to — its player id, its tick, its reconnect token, its identity string — and "the server is trusted" is a weaker statement than it sounds when the server is a listen server run by another player, or a relay, or something that has got in between.
The client is restarted when an input stops it, because a stopped session decodes nothing and a run that quietly stopped fuzzing after the first ConnectRejected would report a clean million cases having tested one.
Fields and properties (4)
public string NameWhat to call it on a command line and in a report.
public string WhatWhich receive path this is, in one line.
public long HeldHow many players this client believes are in the session.
public long HeldCapHow many it may believe in: itself, and nothing else. A client is told about its own player and no others — the server's list is not the client's to have — so anything past one is a client that has been talked into keeping a record it will never use again.
Methods (6)
public SessionClientTarget()Creates the target, with a client half already trying to connect.
public long AllowanceFor(int inputLength)How many bytes an input may cause to be allocated.
public void Seed(ICollection<byte[]> corpus)Adds well-formed inputs for the mutator to start from.
public void Maintain()Puts the target back into a state worth fuzzing, before the next case.
public long Run(ReadOnlySpan<byte> input)Pushes one input through the decoder.
public void Dispose()Stops the session.
Used by (1)
- FuzzTargetsVixen.Net.Fuzz