The Assimilation Project
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
seqnoframe.c File Reference

Implements Seqno Frame class type. More...

#include <string.h>
#include <projectcommon.h>
#include <frameset.h>
#include <seqnoframe.h>
#include <frametypes.h>
#include <generic_tlv_min.h>
#include <tlvhelper.h>
Include dependency graph for seqnoframe.c:

Go to the source code of this file.

Macros

#define FIVESECONDS   5000000
 

Functions

FSTATIC void _seqnoframe_setreqid (SeqnoFrame *self, guint64 value)
 Set the request id value associated with a SeqnoFrame. More...
 
FSTATIC guint64 _seqnoframe_getreqid (SeqnoFrame *self)
 Get the request id associated with a SeqnoFrame. More...
 
FSTATIC void _seqnoframe_setqid (SeqnoFrame *self, guint16 value)
 Set the Queue id value associated with a SeqnoFrame. More...
 
FSTATIC guint16 _seqnoframe_getqid (SeqnoFrame *self)
 Get the queue id associated with a SeqnoFrame. More...
 
FSTATIC void _seqnoframe_updatedata (Frame *fself,gpointer tlvptr,gconstpointer pktend,FrameSet *fs)
 Update packet data from the frame. More...
 
FSTATIC gboolean _seqnoframe_isvalid (const Frame *self,gconstpointer tlvptr,gconstpointer pktend)
 Return TRUE if this sequence number is valid - if it's the right size. More...
 
FSTATIC gboolean _seqnoframe_equal (SeqnoFrame *self, SeqnoFrame *rhs)
 Compare two SeqnoFrames for equality including the queue id. More...
 
FSTATIC int _seqnoframe_compare (SeqnoFrame *self, SeqnoFrame *rhs)
 Compare two SeqnoFrames - ignoring the queue id. More...
 
FSTATIC guint32 _seqnoframe_getsessionid (SeqnoFrame *self)
 Get the session id associated with a SeqnoFrame. More...
 
FSTATIC void _seqnoframe_initsessionid (void)
 Initialize our session ID to something monotonically increasing. More...
 
FSTATIC char * _seqnoframe_toString (gconstpointer vself)
 
Frameseqnoframe_tlvconstructor (gpointer tlvstart, gconstpointer pktend, gpointer *ignorednewpkt, gpointer *ignoredpktend)
 Construct Frame (SeqnoFrame) object from marshalled packet data. More...
 
SeqnoFrameseqnoframe_new (guint16 frametype, int objsize)
 Construct new SeqnoFrame object. More...
 
SeqnoFrameseqnoframe_new_init (guint16 frametype, guint64 reqid, guint16 qid)
 Construct a fully-iniitialized SeqnoFrame object. More...
 

Detailed Description

Implements Seqno Frame class type.

This Frame class subclass implements packet sequence numbering for reliable packet delivery.

This file is part of the Assimilation Project.

Author
Copyright © 2011, 2012 - Alan Robertson alanr.nosp@m.@uni.nosp@m.x.sh
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 http://www.gnu.org/licenses/

Definition in file seqnoframe.c.

Macro Definition Documentation

#define FIVESECONDS   5000000