From 2064df088d33204eeb73ff64c8f366fa8e4284e5 Mon Sep 17 00:00:00 2001 From: Per Cederqvist <ceder@lysator.liu.se> Date: Wed, 6 Nov 2002 18:40:14 +0000 Subject: [PATCH] (struct read_range): New struct. (Membership): Removed fields last_text_read, no_of_read and read_texts. Added fields no_of_read_ranges, read_ranges and skip_read_texts. --- src/include/kom-types.h | 26 ++++++++++++++++++-------- 1 file changed, 18 insertions(+), 8 deletions(-) diff --git a/src/include/kom-types.h b/src/include/kom-types.h index 8382be1bb..ff1820aa6 100644 --- a/src/include/kom-types.h +++ b/src/include/kom-types.h @@ -1,5 +1,5 @@ /* - * $Id: kom-types.h,v 0.51 2002/09/08 10:40:40 ceder Exp $ + * $Id: kom-types.h,v 0.52 2002/11/06 18:40:14 ceder Exp $ * Copyright (C) 1990-1999, 2001-2002 Lysator Academic Computer Association. * * This file is part of the LysKOM server. @@ -282,20 +282,30 @@ typedef struct { /* Information about a person's membership in a conference */ +struct read_range { + Local_text_no first_read; + Local_text_no last_read; +}; + typedef struct { unsigned long position; Conf_no conf_no; unsigned char priority; /* Interrupt priority */ Time last_time_read; /* Updated every time a text in this - conf. is marked as read. */ - Local_text_no last_text_read; /* All texts before and inclusive this - are read */ - unsigned short no_of_read; - Local_text_no * read_texts; /* Texts after last_text_read. Sorted - in ascending order */ - Pers_no added_by; + conference is marked as read. */ + unsigned int no_of_read_ranges; + struct read_range * read_ranges; /* Sorted in ascending order. */ + Pers_no added_by; Time added_at; Membership_type type; + + /* read_ranges is cleared before it reaches the Protocol A output + layer in certain situations, even though that layer wants to + emit the last-text-read element. This happens for example when + get-membership [99] is called with want-read-texts == 0. This + variable maintains the last-text-read value. */ + Bool skip_read_texts; + } Membership; -- GitLab