internal TdsParserStateObject GetSession(object owner)
{
TdsParserStateObject session = null;
if (MARSOn)
{
session = _sessionPool.GetSession(owner);
Debug.Assert(!session._pendingData, "pending data on a pooled MARS session");
}
else
{
session = _physicalStateObj;
// But for CoreCLR we are now relying on the owner to ensure that cancellation owner comes from one source
session.Owner = owner;
}
Debug.Assert(session._outputPacketNumber == 1, "The packet number is expected to be 1");
return session;
}