protected override void RawHandler(byte type, Stream data)
{
if (type == 1)
{
if (data.GetAvaliableByteCounts() > 0)
{
int size = (int) (data.Read7BitValue() - 1);
var flag = data.ReadByte();
byte[] groupId;
if (flag == 0x10)
{
var groupIdVar = new byte[size];
data.Read(groupIdVar, 0, size);
groupId = Target.Sha256.ComputeHash(groupIdVar, 0, size);
}
else
{
groupId = new byte[RtmfpUtils.ID_SIZE];
data.Read(groupId, 0, RtmfpUtils.ID_SIZE);
}
var groupIdStr =groupId.BytesToString();
if (Handler.Groups.ContainsKey(groupIdStr))
{
_group = Handler.Groups[groupIdStr];
Peer.JoinGroup(_group,Writer);
}
else
{
_group = Peer.JoinGroup(groupId, Writer);
}
}
}
else base.RawHandler(type, data);
}
}