Positioning in a Table

In order to achieve the primary goal of the NSPI Protocol (browsing address lists), in addition to the concept of tables, a server MUST support the concept of position in Status-Based and Explicit Tables. Each such table has a Current Position, which specifies a specific row in the table. Methods such as NspiQueryRows return values based on the Current Position in the table, and methods such as NspiUpdateStat and NspiQueryRows modify the Current Position. Positioning in an Explicit Table is defined specifically in the semantics of the NSPI methods that operate on them.

When specifying position in a STAT structure based table, the client sets the CurrentRec, Delta, ContainerID, SortType, and SortLocale fields of the STAT structure to specify to the server the Current Position in the table at the beginning of an NSPI method. The server sets the CurrentRec, NumPos, and TotalRecs fields to specify to the client the Current Position in the table at the end of an NSPI method. There are two ways for the client to specify position in a STAT-based table in the NSPI Protocol: Absolute Positioning and Fractional Positioning.