Simplified Pack method return type.

This commit is contained in:
flash 2024-05-10 15:24:43 +00:00
parent fc7d428f76
commit b1fae4bdeb
24 changed files with 55 additions and 80 deletions

View file

@ -1,6 +1,5 @@
using Fleck;
using System;
using System.Collections.Generic;
using System.Net;
namespace SharpChat {
@ -49,12 +48,9 @@ namespace SharpChat {
if(!Socket.IsAvailable)
return;
IEnumerable<string> data = packet.Pack();
if(data != null)
foreach(string line in data)
if(!string.IsNullOrWhiteSpace(line))
Socket.Send(line);
string data = packet.Pack();
if(!string.IsNullOrWhiteSpace(data))
Socket.Send(data);
}
public void BumpPing() {

View file

@ -1,9 +1,7 @@
using System.Collections.Generic;
namespace SharpChat {
namespace SharpChat {
public interface IServerPacket {
long SequenceId { get; }
IEnumerable<string> Pack();
string Pack();
}
public abstract class ServerPacket : IServerPacket {
@ -14,6 +12,6 @@ namespace SharpChat {
SequenceId = sequenceId > 0 ? sequenceId : SharpId.Next();
}
public abstract IEnumerable<string> Pack();
public abstract string Pack();
}
}

View file

@ -1,6 +1,5 @@
using SharpChat.Misuzu;
using System;
using System.Collections.Generic;
using System.Text;
namespace SharpChat.Packet {
@ -21,7 +20,7 @@ namespace SharpChat.Packet {
BanInfo = fbi ?? throw new ArgumentNullException(nameof(fbi));
}
public override IEnumerable<string> Pack() {
public override string Pack() {
StringBuilder sb = new();
sb.Append('1');
@ -49,7 +48,7 @@ namespace SharpChat.Packet {
sb.Append(BanInfo.ExpiresAt.ToUnixTimeSeconds());
}
yield return sb.ToString();
return sb.ToString();
}
}
}

View file

@ -1,5 +1,4 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace SharpChat.Packet {
@ -21,7 +20,7 @@ namespace SharpChat.Packet {
MaxMessageLength = maxMsgLength;
}
public override IEnumerable<string> Pack() {
public override string Pack() {
StringBuilder sb = new();
sb.Append('1');
@ -32,7 +31,7 @@ namespace SharpChat.Packet {
sb.Append('\t');
sb.Append(MaxMessageLength);
return new[] { sb.ToString() };
return sb.ToString();
}
}
}

View file

@ -12,7 +12,7 @@ namespace SharpChat.Packet {
Bans = bans ?? throw new ArgumentNullException(nameof(bans));
}
public override IEnumerable<string> Pack() {
public override string Pack() {
StringBuilder sb = new();
sb.Append('2');
@ -32,7 +32,7 @@ namespace SharpChat.Packet {
sb.Append(SequenceId);
sb.Append("\t10010");
return new[] { sb.ToString() };
return sb.ToString();
}
}
}

View file

@ -1,5 +1,4 @@
using System.Collections.Generic;
using System.Text;
using System.Text;
namespace SharpChat.Packet {
public class ChannelCreatePacket : ServerPacket {
@ -9,7 +8,7 @@ namespace SharpChat.Packet {
Channel = channel;
}
public override IEnumerable<string> Pack() {
public override string Pack() {
StringBuilder sb = new();
sb.Append('4');
@ -18,7 +17,7 @@ namespace SharpChat.Packet {
sb.Append('\t');
sb.Append(Channel.Pack());
yield return sb.ToString();
return sb.ToString();
}
}
}

View file

@ -1,5 +1,4 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace SharpChat.Packet {
@ -10,7 +9,7 @@ namespace SharpChat.Packet {
Channel = channel ?? throw new ArgumentNullException(nameof(channel));
}
public override IEnumerable<string> Pack() {
public override string Pack() {
StringBuilder sb = new();
sb.Append('4');
@ -19,7 +18,7 @@ namespace SharpChat.Packet {
sb.Append('\t');
sb.Append(Channel.Name);
yield return sb.ToString();
return sb.ToString();
}
}
}

View file

@ -1,5 +1,4 @@
using System.Collections.Generic;
using System.Text;
using System.Text;
namespace SharpChat.Packet {
public class ChannelUpdatePacket : ServerPacket {
@ -11,7 +10,7 @@ namespace SharpChat.Packet {
Channel = channel;
}
public override IEnumerable<string> Pack() {
public override string Pack() {
StringBuilder sb = new();
sb.Append('4');
@ -22,7 +21,7 @@ namespace SharpChat.Packet {
sb.Append('\t');
sb.Append(Channel.Pack());
yield return sb.ToString();
return sb.ToString();
}
}
}

View file

@ -1,6 +1,5 @@
using SharpChat.EventStorage;
using System;
using System.Collections.Generic;
using System.Text;
namespace SharpChat.Packet {
@ -42,7 +41,7 @@ namespace SharpChat.Packet {
);
}
public override IEnumerable<string> Pack() {
public override string Pack() {
StringBuilder sb = new();
sb.Append('2');
@ -76,7 +75,7 @@ namespace SharpChat.Packet {
IsPrivate ? '1' : '0'
);
yield return sb.ToString();
return sb.ToString();
}
}
}

View file

@ -1,5 +1,4 @@
using System.Collections.Generic;
using System.Text;
using System.Text;
namespace SharpChat.Packet {
public class ChatMessageDeletePacket : ServerPacket {
@ -9,14 +8,14 @@ namespace SharpChat.Packet {
EventId = eventId;
}
public override IEnumerable<string> Pack() {
public override string Pack() {
StringBuilder sb = new();
sb.Append('6');
sb.Append('\t');
sb.Append(EventId);
yield return sb.ToString();
return sb.ToString();
}
}
}

View file

@ -11,7 +11,7 @@ namespace SharpChat.Packet {
Channels = channels?.Where(c => c != null) ?? throw new ArgumentNullException(nameof(channels));
}
public override IEnumerable<string> Pack() {
public override string Pack() {
StringBuilder sb = new();
sb.Append('7');
@ -25,7 +25,7 @@ namespace SharpChat.Packet {
sb.Append(channel.Pack());
}
yield return sb.ToString();
return sb.ToString();
}
}
}

View file

@ -1,5 +1,4 @@
using System.Collections.Generic;
using System.Text;
using System.Text;
namespace SharpChat.Packet {
public enum ContextClearMode {
@ -22,14 +21,14 @@ namespace SharpChat.Packet {
Mode = mode;
}
public override IEnumerable<string> Pack() {
public override string Pack() {
StringBuilder sb = new();
sb.Append('8');
sb.Append('\t');
sb.Append((int)Mode);
yield return sb.ToString();
return sb.ToString();
}
}
}

View file

@ -1,10 +1,8 @@
using SharpChat.EventStorage;
using System;
using System.Collections.Generic;
using System.Text;
namespace SharpChat.Packet
{
namespace SharpChat.Packet {
public class ContextMessagePacket : ServerPacket {
public StoredEventInfo Event { get; private set; }
public bool Notify { get; private set; }
@ -16,7 +14,7 @@ namespace SharpChat.Packet
private const string V1_CHATBOT = "-1\tChatBot\tinherit\t\t";
public override IEnumerable<string> Pack() {
public override string Pack() {
bool isAction = Event.Flags.HasFlag(StoredEventFlags.Action);
bool isBroadcast = Event.Flags.HasFlag(StoredEventFlags.Broadcast);
bool isPrivate = Event.Flags.HasFlag(StoredEventFlags.Private);
@ -114,7 +112,7 @@ namespace SharpChat.Packet
isPrivate ? '1' : '0'
);
yield return sb.ToString();
return sb.ToString();
}
}
}

View file

@ -11,7 +11,7 @@ namespace SharpChat.Packet {
Users = users?.Where(u => u != null) ?? throw new ArgumentNullException(nameof(users));
}
public override IEnumerable<string> Pack() {
public override string Pack() {
StringBuilder sb = new();
sb.Append('7');
@ -27,7 +27,7 @@ namespace SharpChat.Packet {
sb.Append('1'); // visibility flag
}
yield return sb.ToString();
return sb.ToString();
}
}
}

View file

@ -1,5 +1,4 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace SharpChat.Packet {
@ -22,7 +21,7 @@ namespace SharpChat.Packet {
}
}
public override IEnumerable<string> Pack() {
public override string Pack() {
StringBuilder sb = new();
sb.Append('9');
@ -37,7 +36,7 @@ namespace SharpChat.Packet {
sb.Append(Expires.ToUnixTimeSeconds());
}
yield return sb.ToString();
return sb.ToString();
}
}
}

View file

@ -19,7 +19,7 @@ namespace SharpChat.Packet {
Arguments = args;
}
public override IEnumerable<string> Pack() {
public override string Pack() {
StringBuilder sb = new();
if(StringId == LCR.WELCOME) {
@ -62,7 +62,7 @@ namespace SharpChat.Packet {
Flags.HasFlag(ChatMessageFlags.Private) ? '1' : '0'
);*/
yield return sb.ToString();
return sb.ToString();
}
}

View file

@ -1,5 +1,4 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace SharpChat.Packet {
@ -10,14 +9,14 @@ namespace SharpChat.Packet {
PongTime = dto;
}
public override IEnumerable<string> Pack() {
public override string Pack() {
StringBuilder sb = new();
sb.Append('0');
sb.Append('\t');
sb.Append(PongTime.ToUnixTimeSeconds());
yield return sb.ToString();
return sb.ToString();
}
}
}

View file

@ -1,5 +1,4 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace SharpChat.Packet {
@ -10,7 +9,7 @@ namespace SharpChat.Packet {
Channel = channel ?? throw new ArgumentNullException(nameof(channel));
}
public override IEnumerable<string> Pack() {
public override string Pack() {
StringBuilder sb = new();
sb.Append('5');
@ -19,7 +18,7 @@ namespace SharpChat.Packet {
sb.Append('\t');
sb.Append(Channel.Name);
yield return sb.ToString();
return sb.ToString();
}
}
}

View file

@ -1,5 +1,4 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace SharpChat.Packet {
@ -10,7 +9,7 @@ namespace SharpChat.Packet {
User = user ?? throw new ArgumentNullException(nameof(user));
}
public override IEnumerable<string> Pack() {
public override string Pack() {
StringBuilder sb = new();
sb.Append('5');
@ -21,7 +20,7 @@ namespace SharpChat.Packet {
sb.Append('\t');
sb.Append(SequenceId);
return new[] { sb.ToString() };
return sb.ToString();
}
}
}

View file

@ -1,5 +1,4 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace SharpChat.Packet {
@ -10,7 +9,7 @@ namespace SharpChat.Packet {
User = user ?? throw new ArgumentNullException(nameof(user));
}
public override IEnumerable<string> Pack() {
public override string Pack() {
StringBuilder sb = new();
sb.Append('5');
@ -21,7 +20,7 @@ namespace SharpChat.Packet {
sb.Append('\t');
sb.Append(SequenceId);
yield return sb.ToString();
return sb.ToString();
}
}
}

View file

@ -1,5 +1,4 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace SharpChat.Packet {
@ -12,7 +11,7 @@ namespace SharpChat.Packet {
User = user ?? throw new ArgumentNullException(nameof(user));
}
public override IEnumerable<string> Pack() {
public override string Pack() {
StringBuilder sb = new();
sb.Append('1');
@ -23,7 +22,7 @@ namespace SharpChat.Packet {
sb.Append('\t');
sb.Append(SequenceId);
yield return sb.ToString();
return sb.ToString();
}
}
}

View file

@ -1,5 +1,4 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace SharpChat.Packet {
@ -21,7 +20,7 @@ namespace SharpChat.Packet {
Reason = reason;
}
public override IEnumerable<string> Pack() {
public override string Pack() {
StringBuilder sb = new();
sb.Append('3');
@ -52,7 +51,7 @@ namespace SharpChat.Packet {
sb.Append('\t');
sb.Append(SequenceId);
return new[] { sb.ToString() };
return sb.ToString();
}
}
}

View file

@ -1,5 +1,4 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace SharpChat.Packet {
@ -14,7 +13,7 @@ namespace SharpChat.Packet {
Timestamp = DateTimeOffset.Now;
}
public override IEnumerable<string> Pack() {
public override string Pack() {
StringBuilder sb = new();
sb.Append('2');
@ -28,7 +27,7 @@ namespace SharpChat.Packet {
sb.Append(SequenceId);
sb.Append("\t10010");
yield return sb.ToString();
return sb.ToString();
}
}
}

View file

@ -1,5 +1,4 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace SharpChat.Packet {
@ -10,14 +9,14 @@ namespace SharpChat.Packet {
User = user ?? throw new ArgumentNullException(nameof(user));
}
public override IEnumerable<string> Pack() {
public override string Pack() {
StringBuilder sb = new();
sb.Append("10");
sb.Append('\t');
sb.Append(User.Pack());
yield return sb.ToString();
return sb.ToString();
}
}
}