Skip to content

Commit

Permalink
Renamed ReadMessage -> Reader
Browse files Browse the repository at this point in the history
BREAKING CHANGE: NetworkReader.ReadMessage renamed to NetworkReader.Read
BREAKING CHANGE: NetworkWriter.WriteMessage renamed to NetworkReader.Write
  • Loading branch information
paulpach committed Sep 29, 2020
1 parent e1c3a43 commit 1bb89f2
Show file tree
Hide file tree
Showing 10 changed files with 37 additions and 30 deletions.
4 changes: 2 additions & 2 deletions Assets/Mirror/Components/Discovery/NetworkDiscoveryBase.cs
Original file line number Diff line number Diff line change
Expand Up @@ -195,7 +195,7 @@ protected virtual void ProcessClientRequest(Request request, IPEndPoint endpoint
try
{
writer.WriteInt64(secretHandshake);
writer.WriteMessage(info);
writer.Write(info);

var data = writer.ToArraySegment();
// signature matches
Expand Down Expand Up @@ -305,7 +305,7 @@ public void BroadcastDiscoveryRequest()
try
{
Request request = GetRequest();
writer.WriteMessage(request);
writer.Write(request);

var data = writer.ToArraySegment();

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -122,8 +122,8 @@ private static void GenerateReadersWriters(AssemblyDefinition currentAssembly, M
method.Is(typeof(MessagePacker), nameof(MessagePacker.Pack)) ||
method.Is(typeof(MessagePacker), nameof(MessagePacker.GetId)) ||
method.Is(typeof(MessagePacker), nameof(MessagePacker.Unpack)) ||
method.Is<NetworkWriter>(nameof(NetworkWriter.WriteMessage)) ||
method.Is<NetworkReader>(nameof(NetworkReader.ReadMessage)) ||
method.Is<NetworkWriter>(nameof(NetworkWriter.Write)) ||
method.Is<NetworkReader>(nameof(NetworkReader.Read)) ||
method.Is<IMessageHandler>(nameof(IMessageHandler.Send)) ||
method.Is<IMessageHandler>(nameof(IMessageHandler.SendAsync)) ||
method.Is<IMessageHandler>(nameof(IMessageHandler.RegisterHandler)) ||
Expand Down
4 changes: 2 additions & 2 deletions Assets/Mirror/Runtime/MessagePacker.cs
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ public static void Pack<T>(T message, NetworkWriter writer)
int msgType = GetId(mstType);
writer.WriteUInt16((ushort)msgType);

writer.WriteMessage(message);
writer.Write(message);
}

// helper function to pack message into a simple byte[] (which allocates)
Expand Down Expand Up @@ -72,7 +72,7 @@ public static T Unpack<T>(byte[] data)
if (id != msgType)
throw new FormatException("Invalid message, could not unpack " + typeof(T).FullName);

return networkReader.ReadMessage<T>();
return networkReader.Read<T>();
}
}
// unpack message after receiving
Expand Down
2 changes: 1 addition & 1 deletion Assets/Mirror/Runtime/NetworkConnection.cs
Original file line number Diff line number Diff line change
Expand Up @@ -111,7 +111,7 @@ void AdapterFunction(INetworkConnection conn, NetworkReader reader, int channelI
var message = default(T);
try
{
message = reader.ReadMessage<T>();
message = reader.Read<T>();
}
finally
{
Expand Down
10 changes: 7 additions & 3 deletions Assets/Mirror/Runtime/NetworkReader.cs
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
namespace Mirror
{
/// <summary>
/// a class that holds writers for the different types
/// a class that holds readers for the different types
/// Note that c# creates a different static variable for each
/// type
/// This will be populated by the weaver
Expand Down Expand Up @@ -122,11 +122,15 @@ public override string ToString()
return "NetworkReader pos=" + Position + " len=" + Length + " buffer=" + BitConverter.ToString(buffer.Array, buffer.Offset, buffer.Count);
}

public T ReadMessage<T>()
/// <summary>
/// Reads any data type that mirror supports
/// </summary>
/// <typeparam name="T"></typeparam>
/// <returns></returns>
public T Read<T>()
{
return Reader<T>.read(this);
}

}

// Mirror's Weaver automatically detects all NetworkReader function types,
Expand Down
9 changes: 6 additions & 3 deletions Assets/Mirror/Runtime/NetworkWriter.cs
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@

namespace Mirror
{

/// <summary>
/// a class that holds writers for the different types
/// Note that c# creates a different static variable for each
Expand All @@ -18,7 +17,6 @@ public static class Writer<T>
public static Action<NetworkWriter, T> write;
}


/// <summary>
/// Binary stream Writer. Supports simple types, buffers, arrays, structs, and nested types
/// <para>Use <see cref="NetworkWriterPool.GetWriter">NetworkWriter.GetWriter</see> to reduce memory allocation</para>
Expand Down Expand Up @@ -169,7 +167,12 @@ public void WriteUInt64(ulong value)

public void WriteInt64(long value) => WriteUInt64((ulong)value);

public void WriteMessage<T>(T msg)
/// <summary>
/// Writes any type that mirror supports
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="msg"></param>
public void Write<T>(T msg)
{
Writer<T>.write(this, msg);
}
Expand Down
10 changes: 5 additions & 5 deletions Assets/Tests/Editor/BasicAuthenticatorTest.cs
Original file line number Diff line number Diff line change
Expand Up @@ -32,12 +32,12 @@ public void AuthRequestMessageTest()

// serialize
var writer = new NetworkWriter();
writer.WriteMessage(message);
writer.Write(message);
byte[] writerData = writer.ToArray();

// try deserialize
NetworkReader reader = new NetworkReader(writerData);
var fresh = reader.ReadMessage<AuthRequestMessage>();
var reader = new NetworkReader(writerData);
AuthRequestMessage fresh = reader.Read<AuthRequestMessage>();
Assert.That(fresh.authUsername, Is.EqualTo("abc"));
Assert.That(fresh.authPassword, Is.EqualTo("123"));
}
Expand All @@ -56,12 +56,12 @@ public void AuthResponseMessageTest()

// serialize
var writer = new NetworkWriter();
writer.WriteMessage(message);
writer.Write(message);
byte[] writerData = writer.ToArray();

// try deserialize
var reader = new NetworkReader(writerData);
var fresh = reader.ReadMessage<AuthResponseMessage>();
AuthResponseMessage fresh = reader.Read<AuthResponseMessage>();
Assert.That(fresh.code, Is.EqualTo(123));
Assert.That(fresh.message, Is.EqualTo("abc"));
}
Expand Down
8 changes: 4 additions & 4 deletions Assets/Tests/Editor/EnumReadWriteTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ public void ByteIsSentForByteEnum()
MyByteEnum byteEnum = MyByteEnum.B;

var writer = new NetworkWriter();
writer.WriteMessage(byteEnum);
writer.Write(byteEnum);

// should only be 1 byte
Assert.That(writer.Length, Is.EqualTo(1));
Expand All @@ -57,7 +57,7 @@ public void ShortIsSentForShortEnum()
MyShortEnum shortEnum = MyShortEnum.G;

var writer = new NetworkWriter();
writer.WriteMessage(shortEnum);
writer.Write(shortEnum);

// should only be 1 byte
Assert.That(writer.Length, Is.EqualTo(2));
Expand All @@ -76,10 +76,10 @@ public void CustomWriterIsUsedForEnum()
T SerializeAndDeserializeMessage<T>(T msg)
{
var writer = new NetworkWriter();
writer.WriteMessage(msg);
writer.Write(msg);

var reader = new NetworkReader(writer.ToArraySegment());
return reader.ReadMessage<T>();
return reader.Read<T>();
}
}
}
12 changes: 6 additions & 6 deletions Assets/Tests/Editor/MessageInheritanceTest.cs
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ public void SendsVauesInParentAndChildClass()
{
var writer = new NetworkWriter();

writer.WriteMessage(new ChildMessage
writer.Write(new ChildMessage
{
parentValue = 3,
childValue = 4
Expand All @@ -53,7 +53,7 @@ public void SendsVauesInParentAndChildClass()
byte[] arr = writer.ToArray();

var reader = new NetworkReader(arr);
ChildMessage received = reader.ReadMessage<ChildMessage>();
ChildMessage received = reader.Read<ChildMessage>();

Assert.AreEqual(3, received.parentValue);
Assert.AreEqual(4, received.childValue);
Expand All @@ -71,7 +71,7 @@ public void SendsVauesWhenUsingAbstractClass()
const int state = 2;
const string message = "hello world";
const int responseId = 5;
writer.WriteMessage(new ResponseMessage
writer.Write(new ResponseMessage
{
state = state,
message = message,
Expand All @@ -81,7 +81,7 @@ public void SendsVauesWhenUsingAbstractClass()
byte[] arr = writer.ToArray();

var reader = new NetworkReader(arr);
ResponseMessage received = reader.ReadMessage<ResponseMessage>();
ResponseMessage received = reader.Read<ResponseMessage>();

Assert.AreEqual(state, received.state);
Assert.AreEqual(message, received.message);
Expand All @@ -100,7 +100,7 @@ public void SendsVauesWhenUsingAbstractClassReverseDefineOrder()
const int state = 2;
const string message = "hello world";
const int responseId = 5;
writer.WriteMessage(new ResponseMessageReverse
writer.Write(new ResponseMessageReverse
{
state = state,
message = message,
Expand All @@ -110,7 +110,7 @@ public void SendsVauesWhenUsingAbstractClassReverseDefineOrder()
byte[] arr = writer.ToArray();

var reader = new NetworkReader(arr);
ResponseMessageReverse received = reader.ReadMessage<ResponseMessageReverse>();
ResponseMessageReverse received = reader.Read<ResponseMessageReverse>();

Assert.AreEqual(state, received.state);
Assert.AreEqual(message, received.message);
Expand Down
4 changes: 2 additions & 2 deletions Assets/Tests/Editor/StructMessagesTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -16,15 +16,15 @@ public void SerializeAreAddedWhenEmptyInStruct()
NetworkWriter writer = new NetworkWriter();

const int someValue = 3;
writer.WriteMessage(new SomeStructMessage
writer.Write(new SomeStructMessage
{
someValue = someValue,
});

byte[] arr = writer.ToArray();

NetworkReader reader = new NetworkReader(arr);
SomeStructMessage received = reader.ReadMessage<SomeStructMessage>();
SomeStructMessage received = reader.Read<SomeStructMessage>();

Assert.AreEqual(someValue, received.someValue);

Expand Down

0 comments on commit 1bb89f2

Please sign in to comment.