// Used by local storage multi-body message. Do not allocate but takes the buffer directly. internal AsynReqArgs(AsyncReqHandler handler, byte *buf, int offset, int len) { RequestHandler = handler; Offset = offset; Size = len; Buffer = buf; }
internal AsynReqArgs(byte *message, int offset, int size, AsyncReqHandler handler) { Buffer = (byte *)Memory.malloc((ulong)size); Memory.memcpy(Buffer, message + offset, (ulong)size); Offset = 0; Size = size; RequestHandler = handler; }
public bool RegisterPreservedMessageHandler(ushort msgId, AsyncReqHandler request_handler) { try { preserved_async_handlers[msgId] = request_handler; Log.WriteLine(LogLevel.Debug, "Preserved async message " + msgId + " is registered."); return(true); } catch (Exception ex) { Trinity.Diagnostics.Log.WriteLine(ex.Message); Trinity.Diagnostics.Log.WriteLine(ex.StackTrace); return(false); } }
public bool RegisterPreservedMessageHandler(ushort msgId, AsyncReqHandler request_handler) { try { preserved_async_handlers[msgId] = request_handler; var messageHandlerMethodName = request_handler.Method.Name; Log.WriteLine(LogLevel.Debug, $"Preserved Async (request) Message Handler: {messageHandlerMethodName}. MessageID: {msgId.ToString()} is registered."); return(true); } catch (Exception ex) { Trinity.Diagnostics.Log.WriteLine(ex.Message); Trinity.Diagnostics.Log.WriteLine(ex.StackTrace); return(false); } }
/// <summary> /// Registers a preserved asynchronous message handler. /// </summary> /// <param name="msgId">A 16-bit unsigned message id.</param> /// <param name="message_handler">A message hander for an asynchronous protocol without response.</param> public static void RegisterPreservedMessageHandler(ushort msgId, AsyncReqHandler message_handler) { MessageHandlers.DefaultParser.RegisterPreservedMessageHandler(msgId, message_handler); }