public void AddListener(string eventName, HandlerFunction handler, bool once = false) { if (!_listeners.ContainsKey(eventName)) { _listeners[eventName] = new List <HandlerData>(); } _listeners[eventName].Add(new HandlerData(handler, once)); }
public SimpleHttpGetHandler( string pathPatternRegex, string templateHtmlPath, HandlerFunction handler) { _pathPattern = new Regex(pathPatternRegex); _templateHtmlPath = templateHtmlPath; _handler = handler; }
public void RemoveListener(string eventName, HandlerFunction handler) { if (_listeners.ContainsKey(eventName)) { foreach (var listener in _listeners[eventName]) { if (listener.Handler.Equals(handler)) { _listeners[eventName].Remove(listener); } } } }
public HandlerData(HandlerFunction handler, bool once) { Handler = handler; Once = once; }
public void Delete(string endpoint, HandlerFunction handler) { Delete(ConverterRegex(endpoint), handler); }
public void Put(string endpoint, HandlerFunction handler) { Put(ConverterRegex(endpoint), handler); }
public void Delete(Regex endpoint, HandlerFunction handler) { repository[HttpMethod.Delete].Add(endpoint, handler); }
public void Put(Regex endpoint, HandlerFunction handler) { repository[HttpMethod.Put].Add(endpoint, handler); }
public void Get(Regex endpointRx, HandlerFunction handler) { repository[HttpMethod.Get].Add(endpointRx, handler); }
public Handler(HandlerFunction f) { func = f; }
public void SetHandler(String message, HandlerFunction del) { handlers[message] = del; }
private static void run(object data) { MessagingServer server = (MessagingServer)(data); while (server.m_started) { try { Socket soc = server.m_listener.AcceptSocket(); if (soc == null) { continue; } try { byte[] messageHeader = new byte[8]; int index = 0; while (index < 8) { int recByteCount = soc.Receive(messageHeader, index, 8 - index, SocketFlags.None); index += recByteCount; } Int32 messageId = new Int32(); Int32 length = new Int32(); MessageEncoder.decodeMessageHeader(messageHeader, ref messageId, ref length); RemoteOverlayMessagingLib.Messages.IOverlayMessageHandler handler = server.m_handlers[messageId]; if (handler != null) { byte[] message = new byte[length]; index = 0; while (index < length) { int count = soc.Receive(message, index, length - index, SocketFlags.None); index += count; } HandlerFunction func = new HandlerFunction(handler.handleNetworkMessage); HandlerDoneObject a = new HandlerDoneObject(); a.func = func; a.soc = soc; func.BeginInvoke(message, length, MessagingServer.messageHandlerDone, a); } else { soc.Close(); } } catch (Exception) { if (soc != null) { soc.Close(); } } } catch (SocketException) { // do nothing } } }