Photon Server API
Public Member Functions | Protected Member Functions | Properties | List of all members
Photon.LoadBalancing.GameServer.OutgoingMasterServerPeer Class Reference
Inheritance diagram for Photon.LoadBalancing.GameServer.OutgoingMasterServerPeer:
Photon.SocketServer.ServerToServer.OutboundS2SPeer Photon.SocketServer.ServerToServer.S2SPeerBase Photon.SocketServer.PeerBase

Public Member Functions

 OutgoingMasterServerPeer (MasterServerConnectionBase masterServerConnection)
 
void UpdateServerState (FeedbackLevel workload, int peerCount, ServerState state)
 
void UpdateServerState ()
 
- Public Member Functions inherited from Photon.SocketServer.ServerToServer.OutboundS2SPeer
bool ConnectTcp (IPEndPoint remoteEndPoint, string applicationName, bool useMux=false, IRpcProtocol protocol=null)
 
bool ConnectTcp (IPEndPoint remoteEndPoint, string applicationName, object customInitObject, bool useMux=false, IRpcProtocol protocol=null)
 
bool ConnectToServerUdp (IPEndPoint remoteEndPoint, string applicationName, byte numChannels, short?mtu)
 
bool ConnectToServerUdp (IPEndPoint remoteEndPoint, string applicationName, object customInitObject, byte numChannels, short?mtu)
 
bool ConnectToServerWebSocket (IPEndPoint remoteEndPoint, string applicationName, WebSocketVersion?webSocketVersion, IRpcProtocol protocol)
 
bool ConnectToServerWebSocket (IPEndPoint remoteEndPoint, string applicationName, object customInitObject, WebSocketVersion?webSocketVersion, IRpcProtocol protocol)
 
bool ConnectToServerWebSocketHixie76 (IPEndPoint remoteEndPoint, string applicationName, object customInitObject, string origin)
 
bool ConnectToServerWebSocketHixie76 (IPEndPoint remoteEndPoint, string applicationName, string origin)
 
- Public Member Functions inherited from Photon.SocketServer.ServerToServer.S2SPeerBase
SendResult InitializeEncryption ()
 Initializes the peer to receive and send encrypted operations. More...
 
SendResult SendOperationRequest (OperationRequest operationRequest, SendParameters sendParameters)
 Sends an operation request. More...
 
- Public Member Functions inherited from Photon.SocketServer.PeerBase
void Initialize (InitRequest initRequest)
 
override string ToString ()
 
void Disconnect ()
 Closes the connection. More...
 
void AbortConnection ()
 Forces the connection to close immediately. Should only be used if "Disconnect" does not lead to a clean connection shutdown, e.g. in case of an overloaded connection. More...
 
void Flush ()
 Flushes all pending data to the socket. More...
 
byte[] InitializeEncryption (byte[] otherPartyPublicKey)
 Initializes the peer to receive and send encrypted operations with EncryptionMethod.Sha256Pkcs7. More...
 
byte[] InitializeEncryption (byte[] otherPartyPublicKey, EncryptionMethod mode)
 Initializes the peer to receive and send encrypted operations. More...
 
SendResult SendEvent (IEventData eventData, SendParameters sendParameters)
 Sends an IEventData object to the client. More...
 
SendResult SendMessage (object message, SendParameters sendParameters)
 
SendResult SendOperationResponse (OperationResponse operationResponse, SendParameters sendParameters)
 Sends the operation response to the client. More...
 
void GetStats (out int roundTripTime, out int roundTripTimeVariance, out int numFailures)
 
void SetDebugString (string message)
 
int GetLastTouch ()
 
void SetPrivateCustomTypeCache (CustomTypeCache cache)
 Sets private custom type cache. It is supposed to be used together with plugins. In other case Proptocol.TryRegisterCustomType should be used More...
 
void Dispose ()
 Disposes the peer. More...
 

Protected Member Functions

virtual void HandleRegisterGameServerResponse (OperationResponse operationResponse)
 
virtual void OnRegisteredAtMaster (RegisterGameServerResponse registerResponse)
 
override void OnDisconnect (DisconnectReason reasonCode, string reasonDetail)
 The connection was closed. More...
 
override void OnEvent (IEventData eventData, SendParameters sendParameters)
 Called when an EventData was received. More...
 
override void OnOperationRequest (OperationRequest request, SendParameters sendParameters)
 Incoming OperationRequests are handled here. This method is being enqueued on the PeerBase.RequestFiber. More...
 
override void OnOperationResponse (OperationResponse operationResponse, SendParameters sendParameters)
 Called when an OperationResponse was received. More...
 
void Reconnect (IPAddress address)
 
virtual void Register ()
 
void StartUpdateLoop ()
 
void StopUpdateLoop ()
 
override void OnConnectionEstablished (object responseObject)
 
override void OnConnectionFailed (int errorCode, string errorMessage)
 
- Protected Member Functions inherited from Photon.SocketServer.ServerToServer.OutboundS2SPeer
 OutboundS2SPeer (ApplicationBase application)
 
- Protected Member Functions inherited from Photon.SocketServer.ServerToServer.S2SPeerBase
 S2SPeerBase (InitResponse response)
 Initializes a new instance of the S2SPeerBase class. More...
 
override void OnReceive (byte[] data, SendParameters sendParameters)
 Invoked if incoming data was received for the peer. More...
 
virtual void OnInitializeEcryptionCompleted (short resultCode, string debugMessage)
 Invoked if an initialize encryption request was completed. More...
 
- Protected Member Functions inherited from Photon.SocketServer.PeerBase
virtual SendResult SendData (byte[] data, SendParameters sendParameters)
 Sends bytes to the client. More...
 
virtual void Dispose (bool disposing)
 Disposes the internal fibers. More...
 
virtual void OnSendBufferEmpty ()
 The default behavior of OnSendBufferFull is to disconnect the client. If this behavior is changed (override) the inheritor can pause sending until OnSendBufferEmpty is called. More...
 
virtual void OnUnexpectedDataReceived (byte[] data, string debugMessage)
 This method is called if incoming data has an unexpected format. Per default this method disconnects the client. Override to change this behavior. More...
 

Properties

bool IsRegistered [get, protected set]
 
- Properties inherited from Photon.SocketServer.PeerBase
ConnectionState ConnectionState [get, set]
 Gets the ConnectionState for this instance. More...
 
bool Connected [get]
 Gets a value indicating whether this PeerBase instance is connected. More...
 
int ConnectionId [get]
 Gets the connection id. More...
 
bool Disposed [get]
 Gets a value indicating whether the peer was disposed. More...
 
string LocalIP [get]
 Gets the IP the client connects to. More...
 
IPAddress LocalIPAddress [get]
 Gets the IP Address the client connects to. More...
 
int LocalPort [get]
 Gets the port the client connects to. More...
 
NetworkProtocolType NetworkProtocol [get]
 Gets the network protocol type used by the peer. More...
 
IRpcProtocol Protocol [get, set]
 Gets the used IRpcProtocol protocol. More...
 
string RemoteIP [get]
 Gets the client's remote IP address. More...
 
IPAddress RemoteIPAddress [get]
 Gets the client's remote IP address. More...
 
int RemotePort [get]
 Gets the port the client connects from. More...
 
IFiber RequestFiber [get]
 Gets fiber for incoming messages. More...
 
int RoundTripTime [get, protected set]
 Gets the last round trip time for this peer. More...
 
int RoundTripTimeVariance [get, protected set]
 Gets the last round trip time variance for this peer. More...
 
int NumFailures [get, protected set]
 
bool LocalIPAddressIsIPv6 [get]
 If true connection is using a server IPv6 endpoint. More...
 
bool SourceUsingIPv6 [get]
 If true the peer is using IPv6 to connect to the server, if the server enpoint used is not IPv6 (LocalIPAddressIsIPv6) it means the client is beeing bridged (DNS64+NAT64), also IsIPv6ToIPv4Bridged. More...
 
bool IsIPv6ToIPv4Bridged [get]
 If true the client is beeing bridged (DNS64+NAT64), also SourceUsingIPv6. More...
 

Additional Inherited Members

- Static Public Attributes inherited from Photon.SocketServer.ServerToServer.OutboundS2SPeer
static readonly IRpcProtocol DefaultProtocol = GpBinaryByteProtocolV16.HeaderV2Instance
 

Constructor & Destructor Documentation

Photon.LoadBalancing.GameServer.OutgoingMasterServerPeer.OutgoingMasterServerPeer ( MasterServerConnectionBase  masterServerConnection)
inline

Member Function Documentation

virtual void Photon.LoadBalancing.GameServer.OutgoingMasterServerPeer.HandleRegisterGameServerResponse ( OperationResponse  operationResponse)
inlineprotectedvirtual
override void Photon.LoadBalancing.GameServer.OutgoingMasterServerPeer.OnConnectionEstablished ( object  responseObject)
inlineprotectedvirtual
override void Photon.LoadBalancing.GameServer.OutgoingMasterServerPeer.OnConnectionFailed ( int  errorCode,
string  errorMessage 
)
inlineprotectedvirtual
override void Photon.LoadBalancing.GameServer.OutgoingMasterServerPeer.OnDisconnect ( DisconnectReason  reasonCode,
string  reasonDetail 
)
inlineprotectedvirtual

The connection was closed.

Implements Photon.SocketServer.PeerBase.

override void Photon.LoadBalancing.GameServer.OutgoingMasterServerPeer.OnEvent ( IEventData  eventData,
SendParameters  sendParameters 
)
inlineprotectedvirtual

Called when an EventData was received.

Parameters
eventDataThe event data.
sendParametersThe send Parameters.

Implements Photon.SocketServer.ServerToServer.S2SPeerBase.

override void Photon.LoadBalancing.GameServer.OutgoingMasterServerPeer.OnOperationRequest ( OperationRequest  operationRequest,
SendParameters  sendParameters 
)
inlineprotectedvirtual

Incoming OperationRequests are handled here. This method is being enqueued on the PeerBase.RequestFiber.

Parameters
operationRequestThe operation Request.
sendParametersThe send parameters.

Implements Photon.SocketServer.PeerBase.

override void Photon.LoadBalancing.GameServer.OutgoingMasterServerPeer.OnOperationResponse ( OperationResponse  operationResponse,
SendParameters  sendParameters 
)
inlineprotectedvirtual

Called when an OperationResponse was received.

Parameters
operationResponseThe operation response.
sendParametersThe send Parameters.

Implements Photon.SocketServer.ServerToServer.S2SPeerBase.

virtual void Photon.LoadBalancing.GameServer.OutgoingMasterServerPeer.OnRegisteredAtMaster ( RegisterGameServerResponse  registerResponse)
inlineprotectedvirtual
void Photon.LoadBalancing.GameServer.OutgoingMasterServerPeer.Reconnect ( IPAddress  address)
inlineprotected
virtual void Photon.LoadBalancing.GameServer.OutgoingMasterServerPeer.Register ( )
inlineprotectedvirtual
void Photon.LoadBalancing.GameServer.OutgoingMasterServerPeer.StartUpdateLoop ( )
inlineprotected
void Photon.LoadBalancing.GameServer.OutgoingMasterServerPeer.StopUpdateLoop ( )
inlineprotected
void Photon.LoadBalancing.GameServer.OutgoingMasterServerPeer.UpdateServerState ( FeedbackLevel  workload,
int  peerCount,
ServerState  state 
)
inline
void Photon.LoadBalancing.GameServer.OutgoingMasterServerPeer.UpdateServerState ( )
inline

Property Documentation

bool Photon.LoadBalancing.GameServer.OutgoingMasterServerPeer.IsRegistered
getprotected set