// Used by local storage multi-body message. Do not allocate but takes the buffer directly. internal AsynReqRspArgs(AsyncReqRspHandler handler, byte *buf, int offset, int len) { RequestHandler = handler; Offset = offset; Size = len; Buffer = buf; }
internal AsynReqRspArgs(byte *message, int offset, int size, AsyncReqRspHandler handler) { Buffer = (byte *)Memory.malloc((ulong)size); Memory.memcpy(Buffer, message + offset, (ulong)size); Offset = 0; Size = size; RequestHandler = handler; }
public bool RegisterMessageHandler(ushort msgId, AsyncReqRspHandler request_handler) { try { async_rsp_handlers[msgId] = request_handler; Log.WriteLine(LogLevel.Debug, "Async with response 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 RegisterMessageHandler(ushort msgId, AsyncReqRspHandler request_handler) { try { async_rsp_handlers[msgId] = request_handler; var messageHandlerMethodName = request_handler.Method.Name; Log.WriteLine(LogLevel.Debug, $"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 an 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 with response.</param> public static void RegisterMessageHandler(ushort msgId, AsyncReqRspHandler message_handler) { MessageHandlers.DefaultParser.RegisterMessageHandler(msgId, message_handler); }