# Microsoft.AspNetCore.SignalR.StackExchangeRedis

``` diff
 {
-    namespace Microsoft.AspNetCore.SignalR.StackExchangeRedis.Internal {
 {
-        public enum GroupAction : byte {
 {
-            Add = (byte)1,

-            Remove = (byte)2,

-        }
-        public readonly struct RedisGroupCommand {
 {
-            public RedisGroupCommand(int id, string serverName, GroupAction action, string groupName, string connectionId);

-            public GroupAction Action { get; }

-            public string ConnectionId { get; }

-            public string GroupName { get; }

-            public int Id { get; }

-            public string ServerName { get; }

-        }
-        public readonly struct RedisInvocation {
 {
-            public RedisInvocation(SerializedHubMessage message, IReadOnlyList<string> excludedConnectionIds);

-            public IReadOnlyList<string> ExcludedConnectionIds { get; }

-            public SerializedHubMessage Message { get; }

-            public static RedisInvocation Create(string target, object[] arguments, IReadOnlyList<string> excludedConnectionIds = null);

-        }
-        public class RedisProtocol {
 {
-            public RedisProtocol(IReadOnlyList<IHubProtocol> protocols);

-            public int ReadAck(ReadOnlyMemory<byte> data);

-            public RedisGroupCommand ReadGroupCommand(ReadOnlyMemory<byte> data);

-            public RedisInvocation ReadInvocation(ReadOnlyMemory<byte> data);

-            public static SerializedHubMessage ReadSerializedHubMessage(ref ReadOnlyMemory<byte> data);

-            public byte[] WriteAck(int messageId);

-            public byte[] WriteGroupCommand(RedisGroupCommand command);

-            public byte[] WriteInvocation(string methodName, object[] args);

-            public byte[] WriteInvocation(string methodName, object[] args, IReadOnlyList<string> excludedConnectionIds);

-        }
-    }
 }
```

