public mmServer(int port, int SendToPort, OnDataDelegate onData) { this.port = port; this._onData = onData; mmServer.ServerInstance = this; sendToPort = SendToPort; }
/// <summary> /// Adds a data handler {dataDelegate} after the given handler {next}. /// </summary> /// <typeparam name="T"></typeparam> /// <typeparam name="R"></typeparam> /// <param name="next"></param> /// <param name="dataDelegate"></param> /// <returns></returns> public bool AddIncomingAfter <T, R>(OnDataDelegate <T> next, OnDataDelegate <R> dataDelegate) { lock (incomingHandlers) { return(incomingHandlers.AddAfter(new DelegateReference <T>(next), new DelegateReference <R>(dataDelegate))); } }
public void Destroy() { this._onData = null; this._event.RemoveListener(); this.Close(null); }
/// <summary> /// Removes the given handler. /// </summary> /// <typeparam name="T"></typeparam> /// <param name="dataDelegate"></param> /// <returns></returns> public bool RemoveIncoming <T>(OnDataDelegate <T> dataDelegate) { lock (incomingHandlers) { return(incomingHandlers.Remove(new DelegateReference <T>(dataDelegate))); } }
/// <summary> /// Adds a data handler {dataDelegate} before the given handler {previous}. /// </summary> /// <typeparam name="T"></typeparam> /// <typeparam name="R"></typeparam> /// <param name="previous"></param> /// <param name="dataDelegate"></param> /// <returns></returns> public bool AddIncomingBefore <T, R>(OnDataDelegate <T> previous, OnDataDelegate <R> dataDelegate) { lock (incomingHandlers) { return(incomingHandlers.AddBefore(new DelegateReference <T>(previous), new DelegateReference <R>(dataDelegate))); } }
/// <summary> /// Adds this given data handler as the last handler in the data handler chain. /// </summary> /// <typeparam name="T"></typeparam> /// <param name="dataDelegate"></param> public void AddIncomingLast <T>(OnDataDelegate <T> dataDelegate) { lock (incomingHandlers) { incomingHandlers.AddLast(new DelegateReference <T>(dataDelegate)); } }
/// <summary> /// Adds this given data handler as the last handler in the data handler chain. /// </summary> /// <typeparam name="T"></typeparam> /// <param name="dataDelegate"></param> public void AddOutgoingLast <T>(OnDataDelegate <T> dataDelegate) { lock (outgoingHandlers) { outgoingHandlers.AddLast(new DelegateReference <T>(dataDelegate)); } }
public FPSocket(OnDataDelegate onData, string host, int port, int timeout) { this._host = host; this._port = port; this._timeout = timeout; this._onData = onData; }
private void Destroy() { this._onData = null; this.Socket_Connect = null; this.Socket_Close = null; this.Socket_Error = null; }
public mmServer(int port, int SendToPort, OnDataDelegate onData, OnNoCommsDelegate onNoComms) { this.port = port; this._onData = onData; mmServer.ServerInstance = this; sendToPort = SendToPort; _onNoComms = onNoComms; }
public CksAdapterCallback() { instance = Marshal.AllocHGlobal(IntPtr.Size * 6); IntPtr vtblPtr = IntPtr.Add(instance, IntPtr.Size); Marshal.WriteIntPtr(instance, vtblPtr); Marshal.WriteIntPtr(vtblPtr, IntPtr.Zero); //dummy entry for the destructor OnConnectedInternal = new OnConnectedDelegate(OnConnected); Marshal.WriteIntPtr(IntPtr.Add(vtblPtr, IntPtr.Size), Marshal.GetFunctionPointerForDelegate(OnConnectedInternal)); OnDataInternal = new OnDataDelegate(OnData); Marshal.WriteIntPtr(IntPtr.Add(vtblPtr, 2 * IntPtr.Size), Marshal.GetFunctionPointerForDelegate(OnDataInternal));
public void EnqueueDataCall(OnDataDelegate callback, byte[] data) { Hashtable hashtable = new Hashtable(); hashtable["callback"] = callback; hashtable["data"] = data; lock (inQueueLocker) { inThreadQueue.Enqueue(hashtable); inHasQueuedItems = true; } }
private void ProcessItem(Hashtable item) { object obj = item["callback"]; OnDataDelegate onDataDelegate = obj as OnDataDelegate; if (onDataDelegate != null) { byte[] msg = (byte[])item["data"]; onDataDelegate(msg); } else { (obj as ParameterizedThreadStart)?.Invoke(item); } }
private void ProcessItem(Hashtable item) { object cb = item["callback"]; OnDataDelegate onDataDelegate = cb as OnDataDelegate; if (onDataDelegate != null) { ByteBuffer msg = (ByteBuffer)item["data"]; onDataDelegate(msg); } else { (cb as ParameterizedThreadStart)?.Invoke(item); } }
public void EnqueueDataCall(OnDataDelegate callback, byte[] data) { UnityEngine.Debug.Log("EnqueueDataCall--OnDataDelegate"); Hashtable hashtable = new Hashtable(); hashtable["callback"] = callback; hashtable["data"] = data; object obj = this.inQueueLocker; Monitor.Enter(obj); try { this.inThreadQueue.Enqueue(hashtable); this.inHasQueuedItems = true; } finally { Monitor.Exit(obj); } }
public DelegateReference(OnDataDelegate <T> dataDelegate) { Delegate = (Delegate)dataDelegate; DelegateType = typeof(T); }