internal static Task <ServerMessage> SendClientMessage(ButtplugFFIMessageSorter aSorter, ButtplugFFIClientHandle aHandle, FlatBufferBuilder aBuilder, ClientMessageType aType, int aOffset) { ClientMessage.StartClientMessage(aBuilder); ClientMessage.AddMessageType(aBuilder, aType); ClientMessage.AddMessage(aBuilder, aOffset); var task = aSorter.PrepareClientMessage(aBuilder); var create_client_msg = CreateClient.EndCreateClient(aBuilder); aBuilder.Finish(create_client_msg.Value); var buf = aBuilder.SizedByteArray(); ButtplugFFICalls.buttplug_parse_client_message(aHandle, buf, buf.Length); return(task); }