示例#1
0
void Netchan_Clear(netchan_t *chan)
{
	Netchan_ClearFragments(chan);

	if (chan->reliable_length)
	{
		Con_DPrintf("%s: reliable length not 0, reliable_sequence: %d, incoming_reliable_acknowledged: %d\n", __func__, chan->reliable_length, chan->incoming_reliable_acknowledged);
		chan->reliable_sequence ^= 1;
		chan->reliable_length = 0;
	}

	chan->cleartime = 0.0;

	for (int i = 0; i < MAX_STREAMS; i++)
	{
		chan->reliable_fragid[i] = 0;
		chan->reliable_fragment[i] = 0;
		chan->fragbufcount[i] = 0;
		chan->frag_startpos[i] = 0;
		chan->frag_length[i] = 0;
		chan->incomingready[i] = FALSE;
	}

	if (chan->tempbuffer)
	{
		Mem_Free(chan->tempbuffer);
		chan->tempbuffer = nullptr;
	}
	chan->tempbuffersize = 0;
}
示例#2
0
/*
==============================
Netchan_Clear

==============================
*/
void Netchan_Clear( netchan_t *chan )
{
	int	i;

	Netchan_ClearFragments( chan );

	chan->cleartime = 0.0;
	chan->reliable_length = 0;

	for( i = 0; i < MAX_STREAMS; i++ )
	{
		chan->reliable_fragid[i] = 0;
		chan->reliable_fragment[i] = 0;
		chan->fragbufcount[i] = 0;
		chan->frag_startpos[i] = 0;
		chan->frag_length[i] = 0;
		chan->incomingready[i] = false;
	}

	Q_memset( chan->flow, 0, sizeof( chan->flow ));
}