/// <summary> /// Sends an object as a response to a request. /// </summary> /// <typeparam name="TData">The type of object to send as a response.</typeparam> /// <param name="context">The request context to respond to.</param> /// <param name="data">The data to send as a response.</param> /// <param name="priority">The priority of the response.</param> public static void SendValue <TData>(this Stormancer.Plugins.RequestContext <IScenePeer> context, TData data, PacketPriority priority = PacketPriority.MEDIUM_PRIORITY) { context.SendValue(s => { context.RemotePeer.Serializer().Serialize(data, s); }, priority); }
/// <summary> /// Reads the message from the request. /// </summary> /// <typeparam name="TData">The expected type of the data.</typeparam> /// <param name="context">The request context to read from.</param> /// <returns>The deserialized data.</returns> /// <remarks>ReadObject will yield you a new object every time you call it. If the request only contains a single object, make sure to call it only once.</remarks> public static TData ReadObject <TData>(this Stormancer.Plugins.RequestContext <IScenePeer> context) { var serializer = context.RemotePeer.Serializer(); return(serializer.Deserialize <TData>(context.InputStream)); }