public void SendBytes(byte[] buffer, int size, NetworkReliablity reliability = NetworkReliablity.Reliable) { byte error; var channelId = NetworkInterface.GetChannelID(reliability); NetworkTransport.Send(HostID, ConnectionID, channelId, buffer, size, out error); UNETUtility.HandleError(error); }
protected override void SendImpl(int connectionId, byte[] buffer, int count, NetworkReliablity reliablity) { byte error; var channelId = GetChannelID(reliablity); NetworkTransport.Send(HostID, connectionId, channelId, buffer, count, out error); UNETUtility.HandleError(error); }
protected override void SendImpl(int connectionId, byte[] buffer, int count, NetworkReliablity reliability) { ValidateSteamInitalized(); EP2PSend ep2p = reliability == NetworkReliablity.Reliable ? EP2PSend.k_EP2PSendReliable : EP2PSend.k_EP2PSendUnreliable; SendPacket(connectionUsers[connectionId], buffer, (uint)count, ep2p); }
public void SendBytes(byte[] buffer, int size, NetworkReliablity reliability = NetworkReliablity.Reliable) { if (!IsConnected) { return; } NetworkInterface.Send(Id, buffer, size, reliability); }
int GetChannelID(NetworkReliablity reliability) { int channelId; if (Channels.TryGetValue(reliability, out channelId)) { return(channelId); } return(Channels[NetworkReliablity.Reliable]); }
public static void Send(this INetworkConnection connection, byte header, MessageBase message, NetworkReliablity reliablity = NetworkReliablity.Reliable) { var writer = new NetworkWriter(); writer.Write(header); message.Serialize(writer); connection.SendBytes(writer.AsArray(), writer.Position, reliablity); (message as IDisposable)?.Dispose(); }
protected override void SendImpl(int connectionId, byte[] data, int count, NetworkReliablity reliablity = NetworkReliablity.Reliable) { var array = ArrayPool <byte> .Shared.Rent(count); Buffer.BlockCopy(data, 0, array, 0, count); Mirror.UnreadMessages.Enqueue(new Message { Data = array, Size = count }); }
public void Send(int connectionId, byte[] buffer, int count, NetworkReliablity reliability) { if (!connectionMap.ContainsKey(connectionId)) { return; } var pool = ArrayPool <byte> .Shared; var compressed = pool.Rent(count); var newSize = CLZF2.Compress(buffer, ref compressed, count); SendImpl(connectionId, compressed, newSize, reliability); pool.Return(compressed); }
public static void SendToAll(this IEnumerable <INetworkConnection> connections, byte header, MessageBase message, NetworkReliablity reliablity = NetworkReliablity.Reliable) { var writer = new NetworkWriter(); writer.Write(header); message.Serialize(writer); var bufferSize = writer.Position; var buffer = writer.AsArray(); foreach (var connection in connections) { connection.SendBytes(buffer, bufferSize, reliablity); } (message as IDisposable)?.Dispose(); }
void AddChannel(ConnectionConfig config, QosType qos, NetworkReliablity reliablity) { Channels.Add(reliablity, config.AddChannel(qos)); }
protected abstract void SendImpl(int connectionId, byte[] buffer, int count, NetworkReliablity reliablity);