Extract BBC News from BFBS stream.
Some checks failed
🚀 Pack skyscraper8 / make-zip (push) Failing after 1m10s
Some checks failed
🚀 Pack skyscraper8 / make-zip (push) Failing after 1m10s
This commit is contained in:
parent
4786e9865c
commit
eb2ceb5f72
@ -111,9 +111,11 @@ namespace skyscraper8.Skyscraper
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
private bool sucessfulPass;
|
||||
public void HandlePacket(InternetHeader internetHeader, byte[] ipv4Packet)
|
||||
{
|
||||
sucessfulPass = false;
|
||||
UserDatagram userDatagram = new UserDatagram(ipv4Packet);
|
||||
IPEndPoint source = new IPEndPoint(internetHeader.SourceAddress, userDatagram.SourcePort);
|
||||
IPEndPoint target = new IPEndPoint(internetHeader.DestinationAddress, userDatagram.DestinationPort);
|
||||
@ -125,12 +127,39 @@ namespace skyscraper8.Skyscraper
|
||||
if (ms.ReadUInt8() != 0x10)
|
||||
return;
|
||||
|
||||
throw new NotImplementedException();
|
||||
if (sessions == null)
|
||||
sessions = new List<Session>();
|
||||
|
||||
Session session = sessions.Find(x => x.SourceAddress.Equals(source) && x.TargetAddress.Equals(target));
|
||||
if (session != null)
|
||||
{
|
||||
if (session.ContinuityCounter >= 3)
|
||||
{
|
||||
while (ms.GetAvailableBytes() >= 188)
|
||||
{
|
||||
byte[] readBytes = ms.ReadBytes(188);
|
||||
subTsHandler.OnSubTsPacket(session, readBytes);
|
||||
sucessfulPass = true;
|
||||
}
|
||||
return;
|
||||
}
|
||||
else
|
||||
{
|
||||
session.Touch(sequence);
|
||||
return;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
session = new Session(source, target, sequence);
|
||||
sessions.Add(session);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
public bool StopProcessingAfterThis()
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
return sucessfulPass;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user