void onPeerEvent(FunapiRpcPeer peer, PeerEventType type) { onPeerEventCallback(peer, type); if (!active_) { return; } if (type == PeerEventType.kDisconnected || type == PeerEventType.kConnectionFailed || type == PeerEventType.kConnectionTimedOut) { if (!peer.abort && peer_list_.Exists(peer.uid)) { peer.Reconnect(); } if (peer == master_peer_) { onMasterDisconnected(peer); return; } } }
void onPeerEventBeforeConnect(FunapiRpcPeer peer, PeerEventType type) { onPeerEventCallback(peer, type); if (type == PeerEventType.kConnected) { peer.SetEventHandler(onPeerEvent); } else { int index = 0; if ((cur_index_ + 1) < option_.Addrs.Count) { index = cur_index_ + 1; } if (index == cur_index_) { if (!peer.abort) { peer.Reconnect(); } } else { peer_list_.Remove(peer); event_.Add(delegate { onConnect(index); }, 0.5f); } } }
public PeerEventData(PeerEventStatus eventStatus, PeerEventType peerEventType, long length, byte[] payload, string errorMsg = null) { EventStatus = eventStatus; EventType = peerEventType; Length = length; Payload = payload; ErrorMessage = errorMsg; }
void onPeerEventCallback(FunapiRpcPeer peer, PeerEventType type) { lock (peer_event_lock_) { if (peer_event_handler_ != null) { peer_event_handler_(peer.peer_id, type); } } }
void onEvent(PeerEventType type) { logInfo("Event: {0}", type); lock (event_lock) { if (event_handler_ != null) { event_handler_(this, type); } } }
private PeerEventDataWrapper ParsePeerEvent(long length, PeerEventType eventType, byte[] unparsedPayload) { var leftovers = new List <byte>(); var payload = new byte[length - 1]; int index = 0; foreach (var unsortedByte in unparsedPayload) { if (index == length - 1) { leftovers.Add(unsortedByte); continue; } payload[index] = unsortedByte; index++; } var peerEventData = new PeerEventData(PeerEventStatus.Ok, eventType, length, payload); return(new PeerEventDataWrapper(peerEventData, leftovers.ToArray())); }
public PeerEventArgs(IPeer peer, PeerEventType actiontype) { Peer = peer; Actiontype = actiontype; }
void onDisconnect(PeerEventType type) { onClose(); onEvent(type); }