The Assimilation Project  based on Assimilation version
reliableudp.c File Reference

Implements the ReliableUDP class - providing reliable transmission for UDP. More...

#include <memory.h>
#include <proj_classes.h>
#include <reliableudp.h>
#include <frameset.h>
#include <framesettypes.h>
#include <frametypes.h>
Include dependency graph for reliableudp.c:

Go to the source code of this file.


FSTATIC gboolean _reliableudp_sendareliablefs (NetIO *nself, NetAddr *dest, guint16 qid, FrameSet *fs)
 Send a single packet reliably. More...
FSTATIC gboolean _reliableudp_sendreliablefs (NetIO *nself, NetAddr *dest, guint16 qid, GSList *fslist)
 Send several packets reliably. More...
FSTATIC gboolean _reliableudp_ackmessage (NetIO *nself, NetAddr *dest, FrameSet *frameset)
 Send an ACK (as requested) for for the packet we've been handed. More...
FSTATIC void _reliableudp_closeconn (NetIO *nself, guint16 qid, const NetAddr *dest)
 Close a reliable UDP connection (reset it, really) More...
FSTATIC void _reliableudp_log_conn (ReliableUDP *self, guint16 qid, NetAddr *destaddr)
 Dump connection information. More...
FSTATIC void _reliableudp_finalize (AssimObj *obj)
 Finalize (free up) our ReliableUDP class object. More...
FSTATIC gboolean _reliableudp_input_queued (const NetIO *nself)
 Return TRUE if we have input to read from someone... More...
FSTATIC void _reliableudp_sendaframeset (NetIO *nself, const NetAddr *dest, FrameSet *fs)
 Reliable UDP verison of 'sendaframeset' from base class. More...
FSTATIC void _reliableudp_sendframesets (NetIO *nself, const NetAddr *dest, GSList *fslist)
 Reliable UDP verison of 'sendframesets' from base class. More...
FSTATIC GSList * _reliableudp_recvframesets (NetIO *nself, NetAddr **srcaddr)
 Reliable UDP verison of 'recvframesets' from base class We get called when the user thinks he might have some packets to receive. More...
FSTATIC gboolean _reliableudp_supportsreliable (NetIO *self)
 Just return TRUE - we support reliable transport. More...
FSTATIC gboolean _reliableudp_outputpending (NetIO *nself)
 Return TRUE if any (reliable) output is pending. More...
ReliableUDPreliableudp_new (gsize objsize, ConfigContext *config, PacketDecoder *decoder, guint rexmit_timer_uS)
 Construct new UDP NetIO object (and its socket, etc) More...

Detailed Description

Implements the ReliableUDP class - providing reliable transmission for UDP.

It adds reliable packet transmission to the NetIOudp class class through use of the FsProtocol class class.

This file is part of the Assimilation Project.

Copyright © 2011, 2012 - Alan Robertson
The Assimilation software is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

The Assimilation software is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with the Assimilation Project software. If not, see

Definition in file reliableudp.c.