Photon Server API Documentation v5.0RC1

Classes | Public Member Functions | Static Public Attributes | Properties | List of all members
Photon.SocketServer.Rpc.Protocols.InboundController Class Reference

Classes

struct  OperationSettings
 

Public Member Functions

 InboundController ()
 
 InboundController (byte opsStartId, byte opsLastId, byte paramsStartId, byte paramsLastId)
 
void SetupOperationParameter (byte opCode, byte parameterCode, ParameterData pdata)
 
void SetupOperationLimits (byte opCode, OperationLimits limits)
 
void BlockOperation (byte opCode)
 
void SetupMessagesLimits (MessagesLimits limits)
 
bool CheckMessageLimits (PeerMetaDataContext peerRateCounters, int dataLen, out short errorCode, out string errorMsg)
 
bool CheckOperationLimits (PeerMetaDataContext peerContexts, byte id, int dataSize, out short errorCode, out string errorMsg)
 
bool CheckAndLogOperationLimitsViolations (PeerMetaDataContext peerContext, out string msg, LogCountGuard guard)
 
InboundController Clone ()
 

Static Public Attributes

const int Blocked = 0
 
const int Unlimited = int.MaxValue
 
const byte PROVIDE_NO_INFO = 0
 no meta data info for parameter More...
 
const byte PROVIDE_SIZE = 1
 
const byte PROVIDE_SIZE_OF_SUB_KEYS = 2
 

Properties

OperationSettings[] Operations [get]
 
byte OpsStart [get]
 
int OpsRangeLen [get]
 
byte ParamsStart [get]
 
int ParamsRangeLen [get]
 
int GpMessagesSizeLimit = Unlimited [get]
 
int GpMessagesRate = Unlimited [get]
 
int GpMessagesDataRate = Unlimited [get]
 
bool OnlyLogLimitsViolations = Configuration.PhotonSettings.Default.Limits.OnlyLogViolations [get, set]
 
int MessageRateLimit = Configuration.PhotonSettings.Default.Limits.MessageRate [get, set]
 rate limit for all possible incoming messages it is checked very first More...
 
int MessageDataRateLimit = Configuration.PhotonSettings.Default.Limits.MessageDataRate [get, set]
 data rate limit for all possible incoming messages it is checked very first More...
 
int MaxMessageSizeLimit = Configuration.PhotonSettings.Default.Limits.MaxMessageSize [get, set]
 Max Size for all possible incoming messages More...
 

Constructor & Destructor Documentation

◆ InboundController() [1/2]

Photon.SocketServer.Rpc.Protocols.InboundController.InboundController ( )
inline

◆ InboundController() [2/2]

Photon.SocketServer.Rpc.Protocols.InboundController.InboundController ( byte  opsStartId,
byte  opsLastId,
byte  paramsStartId,
byte  paramsLastId 
)
inline

Member Function Documentation

◆ BlockOperation()

void Photon.SocketServer.Rpc.Protocols.InboundController.BlockOperation ( byte  opCode)
inline

◆ CheckAndLogOperationLimitsViolations()

bool Photon.SocketServer.Rpc.Protocols.InboundController.CheckAndLogOperationLimitsViolations ( PeerMetaDataContext  peerContext,
out string  msg,
LogCountGuard  guard 
)
inline

◆ CheckMessageLimits()

bool Photon.SocketServer.Rpc.Protocols.InboundController.CheckMessageLimits ( PeerMetaDataContext  peerRateCounters,
int  dataLen,
out short  errorCode,
out string  errorMsg 
)
inline

◆ CheckOperationLimits()

bool Photon.SocketServer.Rpc.Protocols.InboundController.CheckOperationLimits ( PeerMetaDataContext  peerContexts,
byte  id,
int  dataSize,
out short  errorCode,
out string  errorMsg 
)
inline

◆ Clone()

InboundController Photon.SocketServer.Rpc.Protocols.InboundController.Clone ( )
inline

◆ SetupMessagesLimits()

void Photon.SocketServer.Rpc.Protocols.InboundController.SetupMessagesLimits ( MessagesLimits  limits)
inline

◆ SetupOperationLimits()

void Photon.SocketServer.Rpc.Protocols.InboundController.SetupOperationLimits ( byte  opCode,
OperationLimits  limits 
)
inline

◆ SetupOperationParameter()

void Photon.SocketServer.Rpc.Protocols.InboundController.SetupOperationParameter ( byte  opCode,
byte  parameterCode,
ParameterData  pdata 
)
inline

Member Data Documentation

◆ Blocked

const int Photon.SocketServer.Rpc.Protocols.InboundController.Blocked = 0
static

◆ PROVIDE_NO_INFO

const byte Photon.SocketServer.Rpc.Protocols.InboundController.PROVIDE_NO_INFO = 0
static

no meta data info for parameter

◆ PROVIDE_SIZE

const byte Photon.SocketServer.Rpc.Protocols.InboundController.PROVIDE_SIZE = 1
static

◆ PROVIDE_SIZE_OF_SUB_KEYS

const byte Photon.SocketServer.Rpc.Protocols.InboundController.PROVIDE_SIZE_OF_SUB_KEYS = 2
static

◆ Unlimited

const int Photon.SocketServer.Rpc.Protocols.InboundController.Unlimited = int.MaxValue
static

Property Documentation

◆ GpMessagesDataRate

int Photon.SocketServer.Rpc.Protocols.InboundController.GpMessagesDataRate = Unlimited
get

◆ GpMessagesRate

int Photon.SocketServer.Rpc.Protocols.InboundController.GpMessagesRate = Unlimited
get

◆ GpMessagesSizeLimit

int Photon.SocketServer.Rpc.Protocols.InboundController.GpMessagesSizeLimit = Unlimited
get

◆ MaxMessageSizeLimit

int Photon.SocketServer.Rpc.Protocols.InboundController.MaxMessageSizeLimit = Configuration.PhotonSettings.Default.Limits.MaxMessageSize
getset

Max Size for all possible incoming messages

◆ MessageDataRateLimit

int Photon.SocketServer.Rpc.Protocols.InboundController.MessageDataRateLimit = Configuration.PhotonSettings.Default.Limits.MessageDataRate
getset

data rate limit for all possible incoming messages it is checked very first

◆ MessageRateLimit

int Photon.SocketServer.Rpc.Protocols.InboundController.MessageRateLimit = Configuration.PhotonSettings.Default.Limits.MessageRate
getset

rate limit for all possible incoming messages it is checked very first

◆ OnlyLogLimitsViolations

bool Photon.SocketServer.Rpc.Protocols.InboundController.OnlyLogLimitsViolations = Configuration.PhotonSettings.Default.Limits.OnlyLogViolations
getset

◆ Operations

OperationSettings [] Photon.SocketServer.Rpc.Protocols.InboundController.Operations
get

◆ OpsRangeLen

int Photon.SocketServer.Rpc.Protocols.InboundController.OpsRangeLen
get

◆ OpsStart

byte Photon.SocketServer.Rpc.Protocols.InboundController.OpsStart
get

◆ ParamsRangeLen

int Photon.SocketServer.Rpc.Protocols.InboundController.ParamsRangeLen
get

◆ ParamsStart

byte Photon.SocketServer.Rpc.Protocols.InboundController.ParamsStart
get