From 700519ec12c51f6ba8db5aee6a38941a7082a5bd Mon Sep 17 00:00:00 2001 From: Jeff Weston Date: Wed, 11 Sep 2019 11:42:54 -0400 Subject: [PATCH] v1.2b5 --- NormDeveloperGuide.html | 2885 +++++++++++++++++++++++++++++++++++++++ NormDeveloperGuide.pdf | Bin 0 -> 672054 bytes VERSION.TXT | 8 +- common/normApi.cpp | 947 +++++++------ common/normApi.h | 390 +++--- common/normApp.cpp | 10 +- common/normMessage.h | 7 +- common/normNode.cpp | 5 +- common/normNode.h | 2 + common/normObject.cpp | 93 +- common/normObject.h | 31 +- common/normSession.cpp | 100 +- common/normSession.h | 13 +- common/normSimAgent.cpp | 23 +- common/normSimAgent.h | 4 +- common/normTest.cpp | 13 +- common/normVersion.h | 2 +- win32/Norm.opt | Bin 67072 -> 69120 bytes 18 files changed, 3895 insertions(+), 638 deletions(-) create mode 100644 NormDeveloperGuide.html create mode 100644 NormDeveloperGuide.pdf diff --git a/NormDeveloperGuide.html b/NormDeveloperGuide.html new file mode 100644 index 0000000..9fb2954 --- /dev/null +++ b/NormDeveloperGuide.html @@ -0,0 +1,2885 @@ + + + + + NORM Developer’s Guide + + + + + + + + + + + + + + + + +
+

+
+

+ NORM
Developer’s +
Guide

+
+

Background

+

This document describes +an application programming interface (API) for the Nack-Oriented +Reliable Multicast (NORM) protocol implementation developed by the +United States Naval Research Laboratory (NRL). The NORM protocol +provides general purpose reliable data transport for applications +wishing to use Internet Protocol (IP) Multicast services for group +data delivery. NORM can also support unicast (point-to-point) data +communication and may be used for such when deemed appropriate.

+

The NORM protocol is +designed to provide end-to-end reliable transport of bulk data +objects or streams over generic IP multicast routing and forwarding +services. NORM uses a selective, negative acknowledgement (NACK) +mechanism for transport reliability and offers additional protocol +mechanisms to conduct reliable multicast sessions with limited "a +priori" coordination among senders and receivers. A congestion +control scheme is specified to allow the NORM protocol fairly share +available network bandwidth with other transport protocols such as +Transmission Control Protocol (TCP). It is capable of operating with +both reciprocal multicast routing among senders and receivers and +with asymmetric connectivity (possibly a unicast return path) from +the senders to receivers. The protocol offers a number of features +to allow different types of applications or possibly other higher +level transport protocols to utilize its service in different ways. +The protocol leverages the use of FEC-based repair and other proven +reliable multicast transport techniques in its design.

+

Table +of Contents

+
+

Overview

+

API + Initialization

+

Session + Creation and Control

+

NORM + Data Transport

+

NORM + Data Transmission

+

NORM + Data Reception

+

API + Event Notification

+

API + Reference

+

API + Variable Types and Constants

+

NormInstanceHandle

+

NormSessionHandle

+

NormNodeHandle

+

NormNodeId

+

NormObjectHandle

+

NormObjectType

+

NormObjectTransportId

+

NormEventType

+

NormEvent

+

API + Initialization

+

NormCreateInstance()

+

NormDestroyInstance()

+

NormSetCacheDirectory()

+

NormGetNextEvent()

+

NormGetDescriptor()

+

Session + Creation and Control

+

NormCreateSession()

+

NormDestroySession()

+

NormGetLocalNodeId()

+

NormSetMulticastInterface()

+

NormSetTTL()

+

NormSetTOS()

+

NormSetLoopback()

+

NORM + Sender Functions

+

NormStartSender()

+

NormStopSender()

+

NormSetTransmitRate()

+

NormSetCongestionControl()

+

NormSetTransmitRateBounds()

+

NormSetAutoParity()

+

NormSetGrttEstimate()

+

NormAddAckingNode()

+

NormRemoveAckingNode()

+

NormFileEnqueue()

+

NormDataEnqueue()

+

NormStreamOpen()

+

NormStreamClose()

+

NormStreamWrite()

+

NormStreamFlush()

+

NormStreamSetAutoFlush()

+

NormStreamSetPushEnable()

+

NormStreamMarkEom()

+

NormSetWatermark()

+

NORM + Receiver Functions

+

NormStartReceiver()

+

NormStopReceiver()

+

NormSetSilentReceiver()

+

NormSetDefaultUnicastNack()

+

NormNodeSetUnicastNack()

+

NormSetDefaultNackingMode()

+

NormNodeSetNackingMode()

+

NormObjectSetNackingMode()

+

NormSetDefaultRepairBoundary()

+

NormNodeSetRepairBoundary()

+

NormStreamRead()

+

NormStreamSeekMsgStart()

+

NormStreamGetReadOffset()

+

NORM + Object Functions

+

NormObjectGetType()

+

NormObjectHasInfo()

+

NormObjectGetInfoLength()

+

NormObjectGetInfo()

+

NormObjectGetSize()

+

NormObjectCancel()

+

NormObjectRetain()

+

NormObjectRelease()

+

NormFileGetName()

+

NormFileRename()

+

NormDataAccessData()

+

NormDataDetachData()

+

NormObjectGetSender()

+

NORM + Node Functions

+

NormNodeGetId()

+

NormNodeRetain()

+

NormNodeRelease()

+
+

Overview

+

The NORM API has been +designed to provide simple, straightforward access to and control of +NORM protocol state and functions. Functions are provided to create +and initialize instances of the NORM API and associated transport +sessions (NormSessions). Subsequently, NORM data +transmission (NormSender) operation can be activated and the +application can queue various types of data (NormObjects) for +reliable transport. Additionally or alternatively, NORM reception +(NormReceiver) operation can also be enabled on a per-session +basis and the protocol implementation alerts the application of +receive events.

+

By default, the NORM +API will create an operating system thread in which the NORM protocol +engine runs. This allows user application code and the underlying +NORM code to execute somewhat independently of one another. The NORM +protocol thread notifies the application of various protocol events +through a thread-safe event dispatching mechanism and API calls are +provided to allow the application to control NORM operation. (Note: + API mechanisms for lower-level, non-threaded control and execution +of the NORM protocol engine will also be provided in the future.)

+

The NORM API operation +can be roughly summarized with the following categories of functions:

+
    +
  1. API Initialization

    +
  2. Session Creation + and Control

    +
  3. Data Transport

    +
  4. Event Notification

    +
+

Note the order of these +categories roughly reflects the order of function calls required to +use NORM in an application. The first step is to create and +initialize, as needed, at least one instance of the NORM API. Then +one or more NORM transport sessions (where a “session” +corresponds to data exchanges on a given multicast group and host +port number) may be created and controlled. Applications may +participate as senders and/or receivers within a NORM session. NORM +senders transmit data to the session destination address (usually an +IP multicast group) while receivers are notified of incoming data. +The NORM API provides and event notification scheme to notify the +application of significant sender and receiver events. There are +also a number support functions provided for the application to +control and monitor its participation within a NORM transport +session.

+

API Initialization

+

The NORM API requires +that an application explicitly create at least one instance of the +NORM protocol engine which is subsequently used as a conduit for +further NORM API calls. By default, the NORM protocol engine runs in +its own operating system thread and interacts with the application in +a thread-safe manner through the API calls and event dispatching +mechanism. In general, only the thread creating the NORM API +instance should invoke API calls referencing that instance or any +sessions or state created within that instance (NOTE: This +limitation may change in the future. The current implementation is +theoretically safe for concurrent access, but this has not been fully +tested). Multiple API instances may be created as needed for +applications with specific requirements for accessing and controlling +participation in multiple NORM sessions from operating system +multiple threads.

+

Session Creation and Control

+

Once an API instance +has been successfully created, the application may then create NORM +transport session instances as needed. The application can +participate in each session as a sender and/or receiver of data. If +an application is participating as a sender, it may enqueue data +transport objects for transmission. The control of transmission is +largely left to the sender and API calls are provided to control +transmission rate, FEC parameters, etc. Applications participating +as receivers will be notified via the NORM API's event dispatching +mechanism of pending and completed reliable reception of data along +with other significant events. Additionally, API controls for some +optional NORM protocol mechanisms, such as positive acknowledgment +collection, are also provided.

+

Note when multiple +senders are involved, receivers allocate system resources (buffer +space) for each active sender. With a very large number of +concurrently active senders, this may translate to significant memory +allocation on receiver nodes. Currently, the API allows the +application to control how much buffer space is allocated for each +active sender (NOTE: In the future, API functions may be provided +limit the number of active senders monitored and/or provide the +application with finer control over receive buffer allocation, +perhaps on a per sender basis). +

+

NORM Data Transport

+

The NORM protocol +supports transport of three basic types of data content. These +include the types NORM_OBJECT_FILE +and NORM_OBJECT_DATA which +represent predetermined, fixed-size application data content. The +only differentiation with respect to these two types is the implicit +“hint” to the receiver to use non-volatile (i.e. file +system) storage or memory. This “hint” lets the receiver +allocate appropriate storage space with no other information on the +incoming data. The NORM implementation reads/writes data for the +NORM_OBJECT_FILE type directly +from/to file storage, while application memory space is accessed for +the NORM_OBJECT_DATA type. The +third data content type, NORM_OBJECT_STREAM, +represents unbounded, possibly persistent, streams of data content. +Using this transport paradigm, traditional, byte-oriented streaming +transport service (e.g. similar to that provided by a TCP socket) can +be provided. Additionally, NORM has provisions for +application-defined message-oriented transport where receivers can +recover message boundaries without any “handshake” with +the sender. Stream content is buffered by the NORM implementation +for transmission/retransmission and as it is received.

+

NORM Data Transmission

+

The behavior of data +transport operation is largely placed in the control of the NORM +sender(s). NORM senders controls their data transmission rate, +forward error correction (FEC) encoding settings, and parameters +controlling feedback from the receiver group. Multiple senders may +operate in a session, each with independent transmission parameters. +NORM receivers learn needed parameter values from fields in NORM +message headers.

+

NORM transport +“objects” (file, data, or stream) are queued for +transmission by NORM senders. NORM senders may also cancel +transmission of objects at any time. The NORM sender controls the +transmission rate either manually (fixed transmission rate) or +automatically when NORM congestion control operation is enabled. The +NORM congestion control mechanism is designed to be "friendly" +to other data flows on the network, fairly sharing available +bandwidth.

+

By default, the NORM +sender transmits application-enqueued data content, providing repair +transmissions (usually in the form of FEC messages) only when +requested by NACKs from the receivers. However, the application may +also configure NORM to proactively send some amount of FEC content +along with the original data content to create a "robust" +transmission that, in some cases, may be reliably received without +any NACKing activity. This can allow for some degree of reliable +protocol operation even without receiver feedback available. NORM +senders may also requeue (within the limits of "transmit cache" +settings) objects for repeat transmission, and receivers may combine +together multiple transmissions to reliably receive content. +Additionally, hybrid proactive/reactive FEC repair operation is +possible with the receiver NACK process as a "backup" for +when network packet loss exceeds the repair capability of the +proactive FEC settings.

+

The NRL NORM +implementation also supports optional collection of positive +acknowledgment from a subset of the receiver group at +application-determined positions during data transmission. The NORM +API allows the application to specify the receiver subset ("acking +node list") and set "watermark" points for which +positive acknowledgement is collected. This process can provide the +application with explicit flow control for an application-determined +critical set of receivers in the group.

+

NORM Data Reception

+

NORM receiver +applications learn of active senders and their corresponding pending +and completed data transfers, etc via the API event dispatching +mechanism. By default, NORM receivers use NACK messages to request +repair of transmitted content from the originating sender as needed +to achieve reliable transfer. Some API functions are available to +provide some additional control over the NACKing behavior, such as +initially NACKing for NORM_INFO content only or even to the extent of +disabling receiver feedback (silent receiver operation) entirely.

+

API Event Notification

+

An asynchronous event +dispatching mechanism is provided to notify the application of +significant NORM protocol events ...

+

API Reference

+

This section provides a +reference to the NORM API variable types, constants and functions.

+

API Variable Types and Constants

+

The NORM API defines +and enumerates a number of supporting variable types and values which +are used in different function calls. The variable types are +described here.

+

NormInstanceHandle

+

The NormInstanceHandle +type is returned when a NORM API instance is created (see +NormCreateInstance()). This handle can +be subsequently used for API calls which require reference to a +specific NORM API instance. By default, each NORM API instance +instantiated creates an operating system thread for protocol +operation. Note that multiple NORM transport sessions may be created +for a single API instance. In general, it is expected that +applications will create a single NORM API instance, but some +multi-threaded application designs may prefer multiple corresponding +NORM API instances. The value NORM_INSTANCE_INVALID +corresponds to an invalid API instance.

+

NormSessionHandle

+

The NormSessionHandle +type is used to reference NORM transport sessions which have been +created using the NormCreateSession() API +call. Multiple NormSessionHandles may be +associated with a given NormInstanceHandle. + The special value NORM_SESSION_INVALID is +used to refer to invalid session references.

+

NormNodeHandle

+

The NormNodeHandle +type is used to reference state kept by the NORM +implementation with respect to other participants within a +NormSession. Most typically, the NormNodeHandle +is used by receiver applications to dereference information +about remote senders of data as needed. The special value +NORM_NODE_INVALID corresponds to an +invalid reference.

+

NormNodeId

+

The NormNodeId +type corresponds to a 32-bit numeric value which should uniquely +identify a participant (node) in a given NormSession. The +NormNodeGetId() function can be used to +retrieve this value given a valid NormNodeHandle. + The special value NORM_NODE_NONE +corresponds to an invalid (or null) node while the value +NORM_NODE_ANY serves as a wildcard value +for some functions.

+

NormObjectHandle

+

The NormObjectHandle +type is used to reference state kept for data transport objects being +actively transmitted or received. The state kept for NORM transport +objects is temporary, but the NORM API provides a function to +persistently retain state associated with a sender or receiver +NormObjectHandle (see NormObjectRetain()) +if needed. For sender objects, unless explicitly retained, the +NormObjectHandle can be considered valid +until the referenced object is explicitly canceled (see +NormObjectCancel()) or purged from the +sender transmission queue (see the event NORM_TX_OBJECT_PURGED). + For receiver objects, these handles should be treated as valid only +until a subsequent call to NormGetNextEvent() +unless, again, specifically retained. The special value +NORM_OBJECT_INVALID corresponds to +an invalid transport object reference.

+

NormObjectType

+

The NormObjectType +type is an enumeration of possible NORM data transport object types. +As previously mentioned, valid types include:

+
    +
  1. NORM_OBJECT_FILE

    +
  2. NORM_OBJECT_DATA, + and

    +
  3. NORM_OBJECT_STREAM

    +
+

Given a +NormObjectHandle, the application may +determine an object's type using the NormObjectGetType() +function call. A special NormObjectType +value, NORM_OBJECT_NONE, indicates +an invalid object type. +

+

NormObjectTransportId

+

The +NormObjectTransportId type is a 16-bit +numerical value assigned to NormObjects by senders during +active transport. These values are temporarily unique with respect +to a given sender within a NormSession and may be "recycled" +for use for future transport objects. NORM sender nodes assign these +values in a monotonically increasing fashion during the course of a +session as part of protocol operation. Typically, the application +should not need access to these values, but an API call +NormObjectGetTransportId() is provided to +retrieve these values if needed. (Note this function may be +deprecated – it may not be needed at all if the +NormObjectRequeue() function (TBD) is implemented using handles only, +but _some_ applications requiring persistence even after a system +reboot may need the ability to recall previous transport ids?)

+

NormEventType

+

The NormEventType +is an enumeration of NORM API events. "Events" are used by +the NORM API to signal the application of significant NORM protocol +operation events (e.g., receipt of a new receive object, etc). A +description of possible NormEventType +values and their interpretation is given below. The function call +NormGetNextEvent() is used to retrieve +events from the NORM protocol engine.

+

NormEvent

+

The NormEvent +type is a structure used to describe significant NORM protocol +events. This structure is defined as follows:

+

typedef +struct
{
    NormEventType     type;
    NormSessionHandle session;
    NormNodeHandle    node;
    NormObjectHandle  object;
} +NormEvent;

+

The type +field indicates the NormEventType and +determines how the other fields should be interpreted. Note that not +all NormEventType fields are relevant to +all events. The session, node, +and object fields indicate the applicable +NormSessionHandle, NormNodeHandle, +and NormObjectHandle, respectively, to +which the event applies. NORM protocol events are made available to +the application via the NormGetNextEvent() +function call. +

+

API Initialization

+

The first step in using +the NORM API is to create an "instance" of the NORM +protocol engine. Note that multiple instances may be created by the +application if necessary, but generally only a single instance is +required since multiple NormSessions may be managed under a +single NORM API instance.

+

NormCreateInstance()

+

Synopsis

+

#include +<normApi.h>

+

NormInstanceHandle +NormCreateInstance();

+

Description

+

This function creates +an instance of a NORM protocol engine and is the necessary first step +before any other API functions may be used. With the instantiation +of the NORM protocol engine, an operating system thread is created +for protocol execution. The returned NormInstanceHandle +value may be used in subsequent API calls as needed, such +NormCreateSesssion(), etc. +

+

Return Values

+

A value of +NORM_INSTANCE_INVALID is returned upon +failure. The function will only fail if system resources are +unavailable to allocate the instance and/or create the corresponding +thread.

+

NormDestroyInstance()

+

Synopsis

+

#include +<normApi.h>

+

void +NormDestroyInstance(NormInstanceHandle instance);

+

Description

+

The +NormDestroyInstance() function +immediately shuts down and destroys the NORM protocol engine instance +referred to by the instance +parameter. The application should make no subsequent references to +the indicated NormInstanceHandle or any +other API handles or objects associated with it. However, the +application is still responsible for releasing any object handles it +has retained (see NormObjectRetain() and +NormObjectRelease()). +

+

Return Values

+

The function has no +return value.

+

NormSetCacheDirectory()

+

Synopsis

+

#include +<normApi.h>

+

bool +NormSetCacheDirectory(NormInstanceHandle instance,
                           const +char*        cachePath);

+

Description

+

This function sets the +directory path used by receivers to cache newly-received +NORM_OBJECT_FILE objects. This +function must be called before any file objects may be received and +thus should be called before any calls to NormStartReceiver() +are made. However, note that the cache directory may be changed even +during active NORM reception. In this case, the new specified +directory path will be used for subsequently-received files. Any +files received before a directory path change will remain in the +previous cache location. Note that the NormFileRename() +function may be used to rename, and thus potentially move, received +files after reception has begun. +

+

The instance +parameter specifies the NORM protocol engine instance (all +NormSessions associated with that instance +share the same cache path) and the cachePath +is a string specifying a valid (and writable) directory path. The +function returns true on success +and false on failure. The failure +conditions are that the indicated directory does not exist or the +process does not have permissions to write.

+

NormGetNextEvent()

+

Synopsis

+

#include +<normApi.h>

+

bool +NormGetNextEvent(NormInstanceHandle instance,
                      NormEvent*         theEvent);

+

Description

+

This function retrieves +the next available NORM protocol event from the protocol engine. The +instance parameter +specifies the applicable NORM protocol engine, and the theEvent +parameter must be a valid pointer to a NormEvent +structure capable of receiving the NORM event information. For +expected reliable protocol operation, the application should make +every attempt to retrieve and process NORM notification events in a +timely manner.

+

Note that this is +currently the only blocking call in the NORM API. But non-blocking +operation may be achieved by using the NormGetDescriptor() +function to obtain a descriptor (or HANDLE for WIN32) suitable for +asynchronous input/output (I/O) notification using such system calls +as select() (UNIX) or +WaitForMultipleObjects() (WIN32). +The descriptor is signaled when a notification event is pending and a +call to NormGetNextEvent() will not +block.

+

NORM Notification Event Types

+

The following table +enumerates the possible NormEvent values +and describes how these notifications should be interpreted as they +are retrieved by the application via the NormGetNextEvent() +function call.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+

+ Sender Notification Event Types:

+
+

+ NORM_TX_QUEUE_VACANCY

+
+

+ This event indicates that there is room for additional transmit + objects to be enqueued, or, if the handle of NORM_OBJECT_STREAM + is given in the event "object" field, the application + may successfully write to the indicated stream.

+
+

+ NORM_TX_QUEUE_EMPTY

+
+

+ This event indicates the NORM protocol engine has no new data + pending transmission and the application may enqueue additional + objects for transmission.

+
+

+ NORM_TX_OBJECT_SENT

+
+

+ This event indicates that the transport object referenced by the + event's "object" field has completed at least one pass + of total transmission. Note that this does not guarantee that + reliable transmission has yet completed; only that the entire + object content has been transmitted. Depending upon network + behavior, several rounds of NACKing and repair transmissions may + be required to complete reliable transfer.

+
+

+ NORM_TX_OBJECT_PURGED

+
+

+ This event indicates that the NORM protocol engine will no longer + refer to the transport object identified by the event's "object' + field. Typically, this will occur when the application has + enqueued more objects than space available within the set sender + transmit cache bounds. Posting of this notification means the + application is free to free any resources (memory, files, etc) + associated with the indicated "object". After this + event, the given "object" handle (NormObjectHandle) + is no longer valid unless it is specifically retained by the + application.

+
+

+ NORM_LOCAL_SERVER_CLOSED

+
+

+ This event is posted when the NORM protocol engine completes the + "graceful shutdown" of its participation as a sender in + the indicated "session" (see NormStopSender()).

+
+

+ Receiver Notification Event Types:

+
+

+ NORM_REMOTE_SERVER_NEW

+
+

+ This notification is posted when a receiver first receives + messages from a specific remote NORM server. This marks the + beginning of the interval during which the application may + reference the provided "node" handle (NormNodeHandle).

+
+

+ NORM_REMOTE_SERVER_ACTIVE

+
+

+ This event is posted when a previously inactive (or new) remote + server is detected operating as an active sender within the + session.

+
+

+ NORM_REMOTE_SERVER_INACTIVE

+
+

+ This event is posted after a significant period of inactivity (no + sender messages received) of a specific NORM sender within the + session. The NORM protocol engine frees buffering resources + allocated for this sender when it becomes inactive.

+
+

+ NORM_REMOTE_SERVER_PURGED

+
+

+ This event is posted when the NORM protocol engine frees resources + for, and thus invalidates the indicated "node" handle.

+
+

+ NORM_RX_OBJECT_NEW

+
+

+ This event is posted when reception of a new transport object + begins and marks the beginning of the interval during which the + specified "object" (NormObjectHandle) + is valid.

+
+

+ NORM_RX_OBJECT_INFO

+
+

+ This notification is posted when the NORM_INFO content for the + indicated "object" is received.

+
+

+ NORM_RX_OBJECT_UPDATED

+
+

+ This event indicates that the identified receive "object" + has newly received data content.

+
+

+ NORM_RX_OBJECT_COMPLETED

+
+

+ This event is posted when a receive object is completely received, + including available NORM_INFO content. Unless the application + specifically retains the "object" handle, the indicated + NormObjectHandle becomes invalid and + must no longer be referenced.

+
+

+ NORM_RX_OBJECT_ABORTED

+
+

+ This notification is posted when a pending receive object's + transmission is aborted by the remote sender. Unless the + application specifically retains the "object" handle, + the indicated NormObjectHandle becomes + invalid and must no longer be referenced.

+
+

+ Miscellaneous Notification Event Types

+
+

+ NORM_EVENT_INVALID

+
+

+ This NormEventType indicates an invalid or "null" + notification which should be ignored.

+
+


+

+

Return Values

+

This function generally +blocks the thread of application execution until a NormEvent +is available and returns true when +a NormEvent is available. However, there +are some exceptional cases when the function may immediately return +even when no event is pending. In these cases, the return value is +false. +

+

WIN32 Note: A future version of this API will +provide an option to have a user-defined Window message posted when a +NORM API event is pending. (Also some event filtering calls may be +provided (e.g. avoid the potentially numerous RX_OBJECT_UPDATED +events if undesired)).

+

NormGetDescriptor()

+

Synopsis

+

#include +<normApi.h>

+

NormDescriptor +NormGetDescriptor(NormInstanceHandle instance);

+

Description

+

This function is used +to retrieve a NormDescriptor (integer +file descriptor (UNIX) or HANDLE (WIN32)) suitable for asynchronous +I/O notification to avoid blocking calls to NormGetNextEvent(). + A NormDescriptor is available for each +protocol engine instance. The +descriptor (or WIN32 HANDLE) is suitable for use as an input (or +"read") descriptor which is signaled when a NORM protocol +event is ready for retrieval via NormGetNextEvent(). + Hence, a call to NormGetNextEvent() will +not block when the descriptor has been signaled. The select() +system call (UNIX) (or WaitForMultipleObjects() +(WIN32)) can be used to detect when the returned NormDescriptor +is signaled. For the select() call +usage, the NORM descriptor should be treated as a "read" +descriptor.

+

Return Values

+

A descriptor is +returned which is valid until a call to NormDestroyInstance() is +made. Upon error, a value of NORM_DESCRIPTOR_INVALID +is returned.

+

Session Creation and Control

+

NormCreateSession()

+

Synopsis

+

#include +<normApi.h>

+

NormSessionHandle +NormCreateSession(NormInstanceHandle instance,
                                    const +char*        address,
                                    unsigned +short     port,
                                    NormNodeId         localId);

+

Description

+

This function creates a +NORM reliable multicast session (NormSession) using the +address parameters provided. While session state is allocated and +initialized, active session participation does not begin until a call +is made to NormStartSender() and/or +NormStartReceiver() to join the specified +multicast group (if applicable) and start protocol operation. The +following parameters are required in this function call:

+ + + + + + + + + + + + + + + + + + + +
+

+ instance

+
+

+ This must be a valid NormInstanceHandle + previously obtained with a call to NormCreateInstance().

+
+

+ address

+
+

+ This points to a string containing an IP address (e.g. dotted + decimal IPv4 address (or IPv6 address) or name resolvable to a + valid IP address. The specified address + (along with the port number) + determines the destination of NORM messages sent. For multicast + sessions, NORM senders and receivers must use a common multicast + address and port number. For unicast sessions, the sender and + receiver must use a common port number, but specify the other + node's IP address as the session address (Although note that + receiver-only unicast nodes who are providing unicast feedback to + senders will not generate any messages to the session IP address + and the address parameter value + is thus inconsequential for this special case).

+
+

+ port

+
+

+ This must be a valid, unused port number corresponding to the + desired NORM session address. See the address + parameter description for more details.

+
+

+ localId

+
+

+ The localId parameter specifies the + NormNodeId that should be used to + identify the application's presence in the NormSession. + All participant's in a NormSession should use unique + localId values. The application may + specify a value of NORM_NODE_ANY or + NORM_NODE_ANY for the localId + parameter. In this case, the NORM implementation will attempt to + pick an identifier based on the host computer's "default" + IP address (based on the computer's default host name). Note + there is a chance that this approach may not provide unique node + identifiers in some situations and the NORM protocol does not + currently provide a mechanism to detect or resolve NormNodeId + collisions. Thus, the application should explicitly specify the + localId unless there is a high degree + of confidence that the default IP address will provide a unique + identifier.

+
+

Return Values

+

The returned +NormSessionHandle value is valid until a +call to NormDestroySession() is made. A +value of NORM_SESSION_INVALID is +returned upon error.

+

NormDestroySession()

+

Synopsis

+

#include +<normApi.h>

+

void +NormDestroySession(NormSessionHandle session);

+

Description

+

This function +immediately terminates the application's participation in the +NormSession identified by the session +parameter and frees any resources used by that session. An exception +to this is that the application is responsible for releasing any +explicitly retained NormObjectHandles +(See NormObjectRetain() and +NormObjectRelease()).

+

Return Values

+

This function has no +returned values.

+

NormGetLocalNodeId()

+

Synopsis

+

#include +<normApi.h>

+

NormNodeId +NormGetLocalNodeId(NormSessionHandle session);

+

Description

+

This function retrieves +the NormNodeId value used for the +application's participation in the NormSession identified by +the session parameter. The value +may have been explicitly set during the NormCreateSession() +call or derived using the host computer's "default" IP +network address.

+

Return Values

+

The returned value +indicates the NormNode identifier used by the NORM protocol +engine for the local application's participation in the specified +NormSession.

+

NormSetMulticastInterface()

+

Synopsis

+

#include +<normApi.h>

+

bool +NormSetMulticastInterface(NormSessionHandle +session,
                               const +char*       interfaceName);

+

Description

+

This function specifies +which host network interface is used for IP Multicast transmissions +and group membership. This should be called before any call +to NormStartSender() or +NormStartReceiver() is made so that the +IP multicast group is joined on the proper host interface. However, +if a call to NormSetMulticastInterface() +is made after either of these function calls, the call will +not affect the group membership interface, but only dictate that a +possibly different network interface is used for transmitted NORM +messages. Thus, the code:

+

NormSetMulticastInterface(session, +"interface1");
NormStartReceiver(session, +...);
NormSetMulticastInterface(session, "interface2");

+

will result in NORM +group membership (i.e. multicast reception) being managed on +"interface1" while NORM multicast transmissions are made +via "interface2".

+

Return Values

+

A return value of true +indicates success while a return value of false +indicates that the specified interface was valid. This function will +always return true if made before +calls to NormStartSender() or +NormStartReceiver(). However, those +calls may fail if an invalid interface is specified.

+

NormSetTTL()

+

Synopsis

+

#include +<normApi.h>

+

bool +NormSetTTL(NormSessionHandle session,
                unsigned +char     ttl);

+

Description

+

This function specifies +the time-to-live (ttl) for IP +Multicast datagrams generated by NORM for the specified session. + The IP TTL field limits the number of router "hops" that a +generated multicast packet may traverse before being dropped. For +example, if TTL is equal to one, the transmissions will be limited to +the local area network (LAN) of the host computers network interface. + Larger TTL values should be specified to span large networks. Also +note that some multicast router configurations use artificial "TTL +threshold" values to constrain some multicast traffic to an +administrative boundary. In these cases. the NORM TTL setting must +also exceed the router "TTL threshold" in order for the +NORM traffic to be allowed to exit the administrative area.

+

Return Values

+

A return value of true +indicates success while a return value of false +indicates that the specified ttl +could not be set. This function will always return true +if made before calls to NormStartSender() +or NormStartReceiver(). However, those +calls may fail if the desired ttl +value cannot be set..

+

NormSetTOS()

+

Synopsis

+

#include +<normApi.h>

+

bool +NormSetTOS(NormSessionHandle session,
                unsigned +char     tos);

+

Description

+

This function specifies +the type-of-service (tos) field +value used in IP Multicast datagrams generated by NORM for the +specified session. The IP TOS +field value can be used as an indicator that a "flow" of +packets may merit special Quality-of-Service (QoS) treatment by +network devices. Users should refer to applicable QoS information +for their network to determine the expected interpretation and +treatment (if any) of packets with explicit TOS marking.

+

Return Values

+

A return value of true +indicates success while a return value of false +indicates that the specified tos +could not be set. This function will always return true +if made before calls to NormStartSender() +or NormStartReceiver(). However, those +calls may fail if the desired tos +value cannot be set..

+

NormSetLoopback()

+

Synopsis

+

#include +<normApi.h>

+

void +NormSetLoopback(NormSessionHandle session,
                     bool              loopbackEnable);

+

Description

+

This function enables +or disables loopback operation for the indicated NORM session. + If loopbackEnable is set to true, +loopback operation is enabled which allows the application to receive +its own message traffic. Thus, an application which is both actively +receiving and sending may receive its own transmissions. Note it is +expected that this option would be principally be used for test +purposes and that applications would generally not need to transfer +data to themselves. If loopbackEnable +is false, the application is +prevented from receiving its own NORM message transmissions. By +default, loopback operation is disabled when a NormSession is +created.

+

Return Values

+

This function has no +return values.

+

NORM Sender +Functions

+

NormStartSender()

+

Synopsis

+

#include +<normApi.h>

+

bool +NormStartSender(NormSessionHandle session
                     unsigned +long     bufferSpace
                     unsigned +short    segmentSize,
                     unsigned +char     blockSize,
                     unsigned +char     numParity);

+

Description

+

The application's +participation as a sender within a specified NormSession +begins when this function is called. This includes protocol activity +such as congestion control and/or group round-trip timing (GRTT) +feedback collection and application API activity such as posting of +sender-related NormEvents. The parameters required for this +function call include:

+ + + + + + + + + + + + + + + + + + + + + + + +
+

+ session

+
+

+ This must be a valid NormSessionHandle + previously obtained with a call to NormCreateSession().

+
+

+ bufferSpace

+
+

+ This specifies the maximum memory space the NORM protocol engine + is allowed to use to buffer any sender calculated FEC segments and + repair state for the session. The optimum bufferSpace + value is function of the network topology bandwidth*delay + product and packet loss characteristics. If the bufferSpace + limit is too small, the protocol may operate less efficiently as + the sender is required to possibly recalculate FEC parity segments + and/or provide less efficient repair transmission strategies + (resort to explicit repair) when state is dropped due to + constrained buffering resources. However, note the protocol will + still provide reliable transfer. A large bufferSpace + allocation is safer at the expense of possibly committing more + memory resources.

+
+

+ segmentSize

+
+

+ This parameter sets the maximum payload size (in bytes) of + NORM sender messages (not including any NORM message header + fields). A sender's segmentSize value + is also used by receivers to limit the payload content of some + feedback messages (e.g. NORM_NACK message content, etc.) generated + in response to that sender. Note different senders within a + NormSession may use different segmentSize + values. Generally, the appropriate segment size to use is + dependent upon the types of networks forming the multicast + topology, but applications may choose different values for other + purposes. Note that application designers MUST account for the + size of NORM message headers when selecting a segmentSize. + For example, the NORM_DATA message header for a + NORM_OBJECT_STREAM with full + header extensions is 48 bytes in length. In this case, the UDP + payload size of these messages generated by NORM would be up to + (48 + segmentSize) bytes.

+
+

+ blockSize

+
+

+ This parameter sets the number of source symbol segments (packets) + per coding block, for the systematic Reed-Solomon FEC code used in + the current NORM implementation. For traditional systematic block + code "(n,k)" nomenclature, the blockSize + value corresponds to (n-k). NORM logically segments + transport object data content into coding blocks and the blockSize + parameter determines the number of source symbol segments + (packets) comprising a single coding block where each source + symbol segment is up to segmentSize + bytes in length.. A given block's parity symbol segments are + calculated using the corresponding set of source symbol segments. + The maximum blockSize allowed + by the 8-bit Reed-Solomon codes in NORM is 255, with the further + limitation that (blockSize + + numParity) ≤ 255.

+
+

+ numParity

+
+

+ This parameter sets the maximum number of parity symbol segments + (packets) the sender is willing to calculate per FEC coding + block. The parity symbol segments for a block are calculated from + the corresponding blockSize + source symbol segments. In the "(n,k)" + nomenclature mention above, the numParity + value corresponds to "k". A property of the + Reed-Solomon FEC codes used in the current NORM implementation is + that one parity segment can fill any one erasure (missing segment + (packet)) for a coding block. For a given blockSize, + the maximum numParity value is + (255 – blockSize). + However, note that computational complexity increases + significantly with increasing numParity + values and applications may wish to be conservative with respect + to numParity selection, given + anticipated network packet loss conditions and group size + scalability concerns. Additional FEC code options may be provided + for this NORM implementation in the future with different + parameters, capabilities, trade-offs, and computational + requirements.

+
+

These parameters are +currently immutable with respect to a sender's participation within a +NormSession. Sender operation must be stopped (see +NormStopSender()) and restarted with +another call to NormStartSender() if +these parameters require alteration. The API may be extended in the +future to support additional flexibility here, if required. For +example, the NORM protocol "sessionId" field may +possibly be leveraged to permit a node to establish multiple virtual +presences as a sender within a NormSession in the future. +This would allow the sender to provide multiple concurrent streams of +transport, with possibly different FEC and other parameters if +appropriate within the context of a single NormSession. +Again, this extended functionality is not yet supported in this +implementation.

+

Return Values

+

A value of true +is returned upon success and false +upon failure. The reasons failure may occur include limited system +resources or that the network sockets required for communication +failed to open or properly configure. (TBD – Provide a +NormGetError(NormSessionHandle session) +function to retrieve a more specific error indication for this and +other functions.)

+

NormStopSender()

+

Synopsis

+

#include +<normApi.h>

+

void +NormStopSender(NormSessionHandle session, +
                    bool              graceful += false);

+

Description

+

This function +terminates the application's participation in a NormSession as +a sender. By default, the sender will immediately exit the session +without notifying the receiver set of its intention. However a +"graceful shutdown" option is provided to terminate sender +operation gracefully, notifying the receiver set its pending exit +with appropriate protocol messaging. A NormEvent, +NORM_LOCAL_SERVER_CLOSED, is +dispatched when the graceful shutdown process has completed.

+

(NOTE: The +"graceful" +parameter is currently not available, and the current behavior of +this API call corresponds to the default behavior of graceful += false). + The functionality described here will soon be supported in the API.

+

Return Values

+

This function has no +return values.

+

NormSetTransmitRate()

+

Synopsis

+

#include +<normApi.h>

+

void +NormSetTransmitRate(NormSessionHandle session, +
                         double            rate);

+

Description

+

This function sets the +transmission rate limit (in bits per second (bps)) used for +NormSender transmissions. For fixed-rate transmission of +NORM_OBJECT_FILE or +NORM_OBJECT_DATA, this limit +determines the data rate at which NORM protocol messages and data +content. For NORM_OBJECT_STREAM +transmissions, this is the maximum rate allowed for transmission. +Note that the application will need to consider the overhead of NORM +protocol headers when determining an appropriate transmission rate +for its purposes. When NORM congestion control is enabled (see +NormSetCongestionControl()), the rate set +here will be set, but congestion control operation may quickly +readjust the rate unless disabled. +

+

Return Values

+

This function has no +return values.

+

NormSetCongestionControl()

+

Synopsis

+

#include +<normApi.h>

+

void +NormSetTransmitRate(NormSessionHandle session, +
                         bool              enable);

+

Description

+

This function enables +(or disables) the NORM sender congestion control operation for the +session designated by the session +parameter. For best operation, this function should be called before +the call to NormStartSender() is made, +but congestion control operation can be dynamically enabled/disabled +during the course of sender operation. If the value of enable +is true, congestion control +operation is enabled while it is disabled for enable +equal to false. When congestion +control operation is enabled, the NORM sender automatically adjusts +its transmission rate based on feedback from receivers. If bounds on +transmission rate have been set (see NormSetTransmitRateBounds()) +the rate adjustment will remain within any set bounds. The rate set +by NormSetTransmitRate() has no effect +when congestion control operation is enabled. NORM's congestion +algorithm provides rate adjustment to fairly compete for available +network bandwidth with other TCP, NORM, or similarly governed traffic +flows.

+

Return Values

+

This function has no +return values.

+

NormSetTransmitRateBounds()

+

Synopsis

+

#include +<normApi.h>

+

bool +NormSetTransmitRateBounds(NormSessionHandle session, +
                               double            rateMin,
                               double            rateMax);

+

Description

+

This function sets the +range of sender transmission rates within which the NORM congestion +control algorithm is allowed to operate. By default, the NORM +congestion control algorithm operates with no lower or upper bound on +its rate adjustment. This function allows this to be limited where +rateMin corresponds to the minimum +transmission rate (bps) and rateMax +corresponds to the maximum transmission rate. One or both of these +parameters may be set to values less than zero to remove one or both +bounds. For example "NormSetTransmitRate(session, +-1.0, +64000.0)" +will set an upper limit of 64 kbps for the sender transmission rate +with no lower bound. These rate bounds apply only when congestion +control operation is enabled (see +NormSetCongestionControl()). If the current congestion +control rate falls outside of the specified bounds, the sender +transmission rate will

+

Return Values

+

This function returns +true upon success. If both +rateMin and rateMax +are greater than or equal to zero, but (rateMax +< rateMin), the rate bounds +will remain unset or unchanged and the function will return false.

+

NormSetAutoParity()

+

Synopsis

+

#include +<normApi.h>

+

void +NormSetAutoParity(NormSessionHandle sessionHandle, +
                       unsigned +char     autoParity);

+

Description

+

This function sets the +quantity of proactive "auto parity" NORM_DATA messages sent +at the end of each FEC coding block. By default (i.e., autoParity += 0), FEC content is sent only in response to repair requests +(NACKs) from receivers. But, by setting a non-zero value for +autoParity, the sender can +automatically accompany each coding block of transport object source +data segments (NORM_DATA messages) with the set number of FEC +segments. The number of source symbol messages (segments) per FEC +coding block is determined by the blockSize +parameter used when NormStartSender() was +called for the given sessionHandle.

+

The use of +proactively-sent "auto parity" may eliminate the need for +any receiver NACKing to achieve reliable transfer in networks with +low packet loss. However, note that the quantity of "auto +parity" set adds overhead to transport object transmission. In +networks with a predictable level of packet loss and potentially +large round-trip times, the use of "auto parity" may allow +lower latency in the reliable delivery process. Also, its use may +contribute to a smaller amount of receiver feedback as only receivers +with exceptional packet loss may need to NACK for additional repair +content.

+

The value of autoParity +set must be less than or equal to the numParity +parameter set when NormStartSender() was +called for the given sessionHandle.

+

Return Values

+

This function has no +return values.

+

NormSetGrttEstimate()

+

Synopsis

+

#include +<normApi.h>

+

void +NormSetGrttEstimate(NormSessionHandle session, +
                         double            grtt);

+

Description

+

This function sets the +sender's estimate of group round-trip timing (GRTT). This function +is expected to most typically used to initialize ther sender's GRTT +estimate prior to the call to NormStartSender() +when the application has a priori confidence that the default +initial GRTT value of 0.5 second is inappropriate. The sender GRTT +estimate will be updated during normal sender protocol operation +after sender startup or if this call is made while sender operation +is active. For experimental purposes (or very special application +needs), this API provides a mechanism to control or disable the +sender GRTT update process (see NormSetGrttProbing()). + The grtt value will be limited to the maximum GRTT as set (see +NormSetGrttMax()) or the default maximum +of 10 seconds. +

+

The sender GRTT is +advertised to the receiver group and is used to scale various NORM +protocol timers. The default NORM GRTT estimation process +dynamically measures round-trip timing to determine an appropriate +operating value. An overly-large GRTT estimate can introduce +additional latency into the reliability process (resulting in a +larger virtual delay*bandwidth product for the protocol and +potentially requiring more buffer space to maintain reliability). An +overly-small GRTT estimate may introduce the potential for feedback +implosion, limiting the scalability of group size.

+

Return Values

+

This function has no +return values.

+

NormAddAckingNode()

+

Synopsis

+

#include +<normApi.h>

+

bool +NormAddAckingNode(NormSessionHandle session,
                       NormNodeId        nodeId);

+

Description

+

When this function is +called, the specified nodeId is +added to the list of NormNodes used when NORM sender operation +performs positive acknowledgement (ACK) collection for the specified +session. The optional NORM +positive acknowledgement collection occurs when a specified +transmission point (see NormSetWatermark()) +is reached or for specialized protocol actions such as +positively-acknowledged application-defined commands (TBD).

+

Return Values

+

The function returns +true upon success and false +upon failure. The only failure condition is that insufficient memory +resources were available. If a specific nodeId +is added more than once, this has no effect.

+

NormRemoveAckingNode()

+

Synopsis

+

#include +<normApi.h>

+

void +NormRemoveAckingNode(NormSessionHandle session,
                          NormNodeId        nodeId);

+

Description

+

This function deletes +the specified nodeId from the list +of NormNodes used when NORM sender operation performs positive +acknowledgement (ACK) collection for the specified session. + +

+

Return Values

+

The function has no +return values.

+

NormFileEnqueue()

+

Synopsis

+

#include +<normApi.h>

+

NormObjectHandle +NormFileEnqueue(NormSessionHandle session,
                                 const +char*       filename,
                                 const +char*       infoPtr = +NULL,
                                 unsigned +int      infoLen = 0);

+

Description

+

This function enqueues +a file for transmission within the specified NORM session. + Note that NormStartSender() must have +been previously called before files or any transport objects may be +enqueued and transmitted. The fileName +parameter specifies the path to the file to be transmitted. The NORM +protocol engine read and writes directly from/to file system storage +for file transport, potentially providing for a very large virtual +"repair window" as needed for some applications. While +relative paths with respect to the current working directory may be +used, it is recommended that full paths be used when possible. The +optional infoPtr and infoLen +parameters are used to associate NORM_INFO content with the sent +transport object. The maximum allowed infoLen +corresponds to the segmentSize +used in the prior call to NormStartSender(). + The use and interpretation of the NORM_INFO content is left to the +application's discretion. Example usage of NORM_INFO content for +NORM_OBJECT_FILE might include +file name, creation date, MIME-type or other information which will +enable NORM receivers to properly handle the file when reception is +complete.

+

The application is +allowed to enqueue multiple transmit objects within in the "transmit +cache" limits (see NormSetTxCacheLimits()) +and enqueued objects are transmitted (and repaired as needed) within +the limits determined by automated congestion control (see +NormSetCongestionControl()) or fixed rate +(see NormSetTxRate()) parameters.

+

Return Values

+

A NormObjectHandle +is returned which the application may use in other NORM API calls as +needed. This handle can be considered valid until the application +explicitly cancels the object's transmission (see NormObjectCancel()) +or a NORM_TX_OBJECT_PURGED event +is received for the given object. Note the application may use the +NormObjectRetain() method if it wishes to +refer to the object after the NORM_TX_OBJECT_PURGED +notification. In this case, the application, when finished with the +object, must use NormObjectRelease() to +free any resources used or else a memory leak condition will result. +A value of NORM_OBJECT_INVALID is +return upon error. Possible failure conditions include the specified +session is not operating as a +NormSender, insufficient memory resources were available, or +the "transmit cache" limits have been reached and all +previously enqueued NORM transmit objects are pending transmission. +Also the call will fail if the infoLen +parameter exceeds the local NormSender segmentSize +limit.

+

NormDataEnqueue()

+

Synopsis

+

#include +<normApi.h>

+

NormObjectHandle +NormDataEnqueue(NormSessionHandle session,
                                 const +char*       dataPtr,
                                 unsigned +int      dataLen,
                                 const +char*       infoPtr = +NULL,
                                 unsigned +int      infoLen = 0);

+

Description

+

This function enqueues +a segment of application memory space for transmission within the +specified NORM session. Note that +NormStartSender() must have been +previously called before files or any transport objects may be +enqueued and transmitted. The dataPtr +parameter must be a valid pointer to the area of application memory +to be transmitted and the dataLen +parameter indicates the quantity of data to transmit. The NORM +protocol engine read and writes directly from/to application memory +space so it is important that the application does not modify (or +deallocate) the memory space during the time the NORM protocel engine +may access this area. The optional infoPtr +and infoLen parameters are used to +associate NORM_INFO content with the sent transport object. The +maximum allowed infoLen +corresponds to the segmentSize +used in the prior call to NormStartSender(). + The use and interpretation of the NORM_INFO content is left to the +application's discretion. Example usage of NORM_INFO content for +NORM_OBJECT_DATA might include +application-defined data typing or other information which will +enable NORM receiver applications to properly interpret the received +data when reception is complete. Of course, it is possible that the +application may embed such typing information in the object data +content itself. This is left to the application's discretion.

+

The application is +allowed to enqueue multiple transmit objects within in the "transmit +cache" limits (see NormSetTxCacheLimits()) +and enqueued objects are transmitted (and repaired as needed) within +the limits determined by automated congestion control (see +NormSetCongestionControl()) or fixed rate +(see NormSetTxRate()) parameters.

+

Return Values

+

A NormObjectHandle +is returned which the application may use in other NORM API calls as +needed. This handle can be considered valid until the application +explicitly cancels the object's transmission (see NormObjectCancel()) +or a NORM_TX_OBJECT_PURGED event +is received for the given object. Note the application may use the +NormObjectRetain() method if it wishes to +refer to the object after the NORM_TX_OBJECT_PURGED +notification. In this case, the application, when finished with the +object, must use NormObjectRelease() +to free any resources used or else a memory leak condition will +result. A value of NORM_OBJECT_INVALID +is return upon error. Possible failure conditions include the +specified session is not operating +as a NormSender, insufficient memory resources were available, +or the "transmit cache" limits have been reached and all +previously enqueued NORM transmit objects are pending transmission. +Also the call will fail if the infoLen +parameter exceeds the local NormSender segmentSize +limit.

+

NormStreamOpen()

+

Synopsis

+

#include +<normApi.h>

+

NormObjectHandle +NormStreamOpen(NormSessionHandle session,
                                unsigned +int      bufferSize,
                                const +char*       infoPtr = +NULL,
                                unsigned +int      infoLen = 0);

+

Description

+

This function opens a +NORM_OBJECT_STREAM sender object +and enqueues it for transmission within the indicated session. + NormStream objects provide reliable, in-order delivery of data +content written to the stream by the sender application. Note that +no data is sent until subsequent calls to NormStreamWrite() +are made unless NORM_INFO content is specified for the stream with +the infoPtr and infoLen +parameters. Example usage of NORM_INFO content for NORM_OBJECT_STREAM +might include application-defined data typing or other information +which will enable NORM receiver applications to properly interpret +the received stream as it is being received. The NORM protocol +engine buffers data written to the stream for original transmission +and repair transmissions as needed to achieve reliable transfer. The +bufferSize parameter controls the +size of the stream's "repair window" which limits how far +back the sender will "rewind" to satisfy receiver repair +requests. +

+

NORM, as a +NACK-oriented protocol, currently lacks a mechanism for receivers to +explicitly feedback flow control status to the sender unless +the sender leverages NORM's optional positive acknowledgement (ACK) +features. Thus, the bufferSize +selection plays an important role in NORM's reliability. Generally, +a larger bufferSize value is safer +with respect to reliability, but some applications may wish to limit +how far the sender rewinds to repair receivers with poor connectivity +with respect to the group at large. Such applications may set a +smaller bufferSize to avoid the +potential for large latency in data delivery. This may result in +breaks in the reliable delivery of stream data to some receivers, but +this form of quasi-reliability while limiting latency may be useful +for some types of applications (e.g. reliable real-time messaging, +video or sensor data transport). Note that NORM receivers can +"resync" to the sender after such breaks if the application +leverages the message boundary recovery features of NORM (see +NormStreamMarkEom()).

+

Note that the current +implementation of NORM is designed to support only one active stream +per session, and that any NORM_OBJECT_DATA +or NORM_OBJECT_FILE objects +enqueued for transmission will not begin transmission until an active +stream is closed. Applications requiring multiple streams or +concurrent file/data transfer should instantiate multiple +NormSessions as needed.

+

Note there is no +corresponding "open" call for receiver streams. Receiver +NORM_OBJECT_STREAMs are +automatically opened by the NORM protocol engine and the receiver +applications is notified of new streams via the NORM_RX_OBJECT_NEW +notification (see NormGetNextEvent()).

+

Return Values

+

A NormObjectHandle +is returned which the application may use in other NORM API calls as +needed. This handle can be considered valid until the application +explicitly cancels the object's transmission (see NormObjectCancel()) +or a NORM_TX_OBJECT_PURGED event +is received for the given object. Note the application may use the +NormObjectRetain() method if it wishes to +refer to the object after the NORM_TX_OBJECT_PURGED +notification. In this case, the application, when finished with the +object, must use NormObjectRelease() +to free any resources used or else a memory leak condition will +result. A value of NORM_OBJECT_INVALID +is return upon error. Possible failure conditions include the +specified session is not operating +as a NormSender, insufficient memory resources were available, +or the "transmit cache" limits have been reached and all +previously enqueued NORM transmit objects are pending transmission. +Also the call will fail if the infoLen +parameter exceeds the local NormSender segmentSize +limit.

+

NormStreamClose()

+

Synopsis

+

#include +<normApi.h>

+

bool +NormStreamClose(NormObjectHandle streamHandle);

+

Description

+

This function halts +transfer of the stream specified by the streamHandle +parameter and releases any resources used unless the associated +object has been explicitly retained by a call to NormObjectRetain(). + This function is equivalent to the NormObjectCancel() +routine and may be used for sender or receiver streams. This +alternative function is simply provided to compliment the +NormStreamOpen() call.

+

Return Values

+

This function has no +return values.

+

NormStreamWrite()

+

Synopsis

+

#include +<normApi.h>

+

unsigned +int +NormStreamWrite(NormObjectHandle streamHandle
                             const +char*      buffer,
                             unsigned +int     numBytes);

+

Description

+

This function enqueues +data for transmission within the NORM stream specified by the +streamHandle parameter. The +buffer parameter must be a pointer +to the data to be enqueued and the numBytes +parameter indicates the length of the data content. Note this call +does not block and will return immediately. The return value +indicates the number of bytes copied from the provided buffer to the +internal stream transmission buffers. Calls to this function will be +successful unless the stream's transmit buffer space is fully +occupied with data pending original or repair transmission if the +stream's "push mode" is set to false +(default, see NormStreamSetPushMode() for +details). If the stream's "push mode" is set to true, a +call to NormStreamWrite() will always +result in copying of application data to the stream at the cost of +previously enqueued data pending transmission (original or repair) +being dropped by the NORM protocol engine. While NORM NACK-based +reliability does not provide explicit flow control, there is some +degree of implicit flow control in limiting writing new data to the +stream against pending repairs. +

+

Return Values

+

This function returns +the number of bytes of data successfully enqueued for NORM stream +transmission.

+

NormStreamFlush()

+

Synopsis

+

#include +<normApi.h>

+

void +NormStreamFlush(NormObjectHandle +streamHandle,
                     bool             eom += false,
                     NormFlushMode    flushMode += NORM_FLUSH_PASSIVE);

+

Description

+

This function causes an +immediate "flush" of the transmit stream specified by the +streamHandle parameter. Normally, +unless NormSetAutoFlush() has been +invoked, the NORM protocol engine buffers data written to a stream +until it has accumulated a sufficient quantity to generate a +NORM_DATA message with a full payload (as designated by the +segmentSize parameter of the +NormStartSender() call). This results in +most efficient operation with respect to protocol overhead. However, +for some NORM streams, the application may not wish wait for such +accumulation when critical data has been written to a stream. The +default stream "flush" operation invoked via +NormStreamFlush() for flushMode +equal to NORM_FLUSH_PASSIVE causes +NORM to immediately transmit all enqueued data for the stream +(subject to session transmit rate limits), even if this results in +NORM_DATA messages with "small" payloads. If the optional +flushMode parameter is set to +NORM_FLUSH_ACTIV, the application +can achieve reliable delivery of stream content up to the current +write position in an even more proactive fashion. In this case, the +sender additionally, actively transmits NORM_CMD(FLUSH) +messages after any enqueued stream content has been sent. This +immediately prompt receivers for repair requests which reduces +latency of reliable delivery, but at a cost of some additional +messaging. Note any such "active" flush activity will be +terminated upon the next subsequent write to the stream. If +flushMode is set to +NORM_FLUSH_NONE, this call has no +effect other than the optional end-of-message marking described here.

+

The optional eom +parameter, when set to true, +allows the sender application to mark an end-of-message indication +(see NormStreamMarkEom()) for the stream +and initiate flushing in a single function call. The end-of-message +indication causes NORM to mark the first NORM_DATA message generated +following a subsequent write to the stream with the +NORM_FLAGS_MSG_START flag. This mechanism provide a means for +message boundary recovery when receivers join or re-sync to a sender +mid-stream.

+

Note that frequent +flushing, particularly for NORM_FLUSH_ACTIVE +operation, may result in more NORM protocol activity than usual, so +care must be taken in application design and deployment when +scalability to large group sizes is expected.

+

Return Values

+

This function has no +return values.

+

NormStreamSetAutoFlush()

+

Synopsis

+

#include +<normApi.h>

+

void +NormStreamSetAutoFlush(NormObjectHandle +streamHandle
                            NormFlushMode    flushMode);

+

Description

+

This function sets +"automated flushing" for the NORM transmit stream +indicated by the streamHandle +parameter. By default, a NORM transmit stream is "flushed" +only when explicitly requested by the application (see +NormStreamFlush()). +However, to simplify programming, the NORM API allows that automated +flushing be enabled such that the "flush" operation occurs +every time the full requested buffer +provided to a NormStreamWrite() +call is successfully enqueued. This may be appropriate for messaging +applications where the provided buffers corresponds to an application +messages requiring immediate, full transmission. This may make the +NORM protocol perhaps more "chatty" than its typical "bulk +transfer" form of operation, but can provide a useful capability +for some applications. +

+

Possible values for the +flushMode parameter include +NORM_FLUSH_NONE, +NORM_FLUSH_PASSIVE, and +NORM_FLUSH_ACTIVE. The default +setting for a NORM stream is NORM_FLUSH_NONE +where no flushing occurs unless explicitly requested via +NormStreamFlush(). +By setting the automated flushMode +to NORM_FLUSH_PASSIVE, the only +action taken is to immediately transmit any data that has been +written to the stream, even if "runt" NORM_DATA messages +(with payloads less than the NormSender segmentSize +parameter) are generated as a result. If NORM_FLUSH_ACTIVE +is specified, the automated flushing operation is further augmented +with the additional transmission of NORM_CMD(FLUSH) messages to +proactively excite the receiver group for repair requests.

+

Return Values

+

This function has no +return values.

+

NormStreamSetPushEnable()

+

Synopsis

+

#include +<normApi.h>

+

void +NormStreamSetPushEnable(NormObjectHandle +streamHandle
                             bool             pushEnable);

+

Description

+

This function controls +how the NORM API behaves when the application attempts to enqueue new +stream data for transmission when the associated stream's transmit +buffer is fully occupied with data pending original or repair +transmission. By default, a call to NormStreamWrite() +will return a zero value under this condition, indicating it was +unable to enqueue the new data. However, if pushEnable +is set to true for a given +streamHandle, the NORM protocol +engine will discard the oldest buffered stream data (even if it is +pending repair transmission or has never been transmitted) as needed +to enqueue the new data. Thus a call to NormStreamWrite() +will never fail to copy data. This behavior may be desirable for +applications where it is more important to quickly delivery new data +than to reliably deliver older data written to a stream. The default +behavior for a newly opened stream corresponds to pushEnable +equals false. This limits the +rate to which an application can write new data to the stream to the +current transmission rate and status of the reliable repair process.

+

Return Values

+

This function has no +return values.

+

NormStreamMarkEom()

+

Synopsis

+

#include +<normApi.h>

+

void +NormStreamMarkEom(NormObjectHandle streamHandle);

+

Description

+

This function allows +the application to indicate to the NORM protocol engine that the last +data successfully written to the stream indicated by streamHandle +corresponded to the end of an application-defined message boundary. +If the stream is either explicitly flushed at this point (see +NormStreamFlush()) or the last write had +exactly filled a NormSender segmentSize +NORM_DATA message payload, the beginning of the next write will +correspond to the beginning of a new NORM_DATA message. The +end-of-message indication given here will cause the NORM protocol +engine to flag this new message with NORM_FLAG_MSG_START which allows +receivers to recover message boundary synchronization even when +beginning reception mid-stream. Note that the marking is most +effective when explicit flushing is used which forces alignment of +application message boundaries with NORM_DATA messages. It is +anticipated that future versions of the NORM protocol specification +(and/or the NRL implementation) will provide additional, more +flexible stream control mechanisms (e.g. mid-segment message boundary +alignment) that allow for more robust message boundary recovery.

+

It is recommended that +the NormStreamMarkEom() should be used +with automated flushing modes (see NormStreamSetAutoFlush()) +while the optional eom parameter +of NormStreamFlush() is instead used when +explicit flushing is practiced. End-of-message marking may be +used when no flushing is done, but note then there is no guarantee of +message boundary to NORM_DATA message alignment unless the +application message sizes correspond to multiples of the configured +NormSender segmentSize. +Again, note future versions of NORM and this implementation may +provide more flexibility here.

+

Return Values

+

This function has no +return values.

+

NormSetWatermark()

+

Synopsis

+

#include +<normApi.h>

+

bool +NormSetWatermark(NormSessionHandle session,
                      NormObjectHandle  object);

+

Description

+

This function specifies +a "watermark" transmission point at which NORM sender +protocol operation should perform positive acknowledgment collection +for a given session. For +NORM_OBJECT_FILE and +NORM_OBJECT_DATA transmissions, +the positive acknowledgement collection will begin when the specified +object has been completely +transmitted. The object parameter must be a valid handle to a +previously-created sender object (see NormEnqueueFile(), +NormEnqueueData(), or +NormStreamOpen()). +For NORM_OBJECT_STREAM +transmission, the positive acknowledgment collection begins +immediately, using the current position (last data written) of the +sender stream as a reference. +

+

As the acknowledgment +collection proceeds, NORM_ACK_FAILED +events will be posted for individual receiver NormNodes which +fail to acknowledge the request. The NormEvent::node +field contains a NormNodeHandle for the +failed node and NormNodeGetId() can be +used to retrieve the failing node's NormNodeId. + When the sender acknowledgment collection process has completed, the +NORM_ACK_COMPLETE event is posted +and the application may assume that the remaining nodes (those for +which there was no NORM_ACK_FAILED +event) successfully acknowledged the request.

+

If a subsequent call is +made to NormSetWatermark() before the +prior acknowledgement request has completed, the pending +acknowledgment request is canceled and new one may begin.

+

Note that the sender +may still enqueue NormObjects for transmission (or write to +the existing stream) and the positive acknowledgement collection will +be multiplexed with the ongoing data transmission. However, the +sender application may wish to defer sending more data until a +NORM_ACK_COMPLETE event is +received for the session. This +provides a form of explicit sender->receiver(s) flow control (with +respect to the current list of "acking" receivers) which +does not exist in NORM's default NACK-only operation.

+

Return Values

+

The function returns +true upon successful establishment +of the watermark point. The function may return false +upon failure (why would it fail? – TBD).

+

NORM Receiver Functions

+

NormStartReceiver()

+

Synopsis

+

#include +<normApi.h>

+

bool +NormStartReceiver(NormSessionHandle session, +
                       unsigned +long     bufferSpace);

+

Description

+

This function initiates +the application's participation as a receiver within the NormSession +identified by the session +parameter. The receiver will respond with appropriate protocol +messages (unless NormSetSilentReceiver(true) +is invoked) and begin providing the application with +receiver-related NormEvent notification. The bufferSpace +parameter is used to set a limit on the amount of bufferSpace +allocated by the receiver per active NormSender within the +session. The appropriate bufferSpace +to use is a function of expected network delay*bandwidth +product and packet loss characteristics. A discussion of trade-offs +associated with NORM transmit and receiver buffer space selection is +provided later in this document. An insufficient bufferSpace +allocation will result in potentially inefficient protocol operation, +even though reliable operation may be maintained. In some cases of a +large delay*bandwidth product and/or severe packet loss, a +small bufferSpace allocation +(coupled with the lack of explicit flow control in NORM) may result +in the receiver "re-syncing" to the sender, resulting in +"outages" in the reliable transmissions from a sender (this +is similar to the conditions resulting in a TCP connection timeout +failure). +

+

Return Values

+

A value of true +is returned upon success and false +upon failure. The reasons failure may occur include limited system +resources or that the network sockets required for session +communication failed to open or properly configure.

+

NormStopReceiver()

+

Synopsis

+

#include +<normApi.h>

+

void +NormStopReceiver(NormSessionHandle session, +
                      unsigned +int      gracePeriod = 0);

+

Description

+

This function ends the +application's participation as a receiver in the NormSession +specified by the session +parameter. By default, all receiver-related protocol activity is +immediately halted and all receiver-related resources are freed +(except for those which have been specifically retained (see +NormObjectRetain()). However, and +optional gracePeriod parameter is +provided to allow the receiver an opportunity to inform the group of +its intention. This is applicable when the local receiving NormNode +has been designated as an active congestion control representative +(i.e. current limiting receiver (CLR) or potential limiting receiver +(PLR)). In this case, a non-zero gracePeriod +value provides an opportunity for the receiver to respond to the +applicable sender(s) so the sender will not expect further congestion +control feedback from this receiver. The gracePeriod +integer value is used as a multiplier with the largest sender GRTT to +determine the actual time period for which the receiver will linger +in the group to provide such feedback (i.e. "grace time" = +(gracePeriod * GRTT)). + During this time, the receiver will not generate any requests for +repair or other protocol actions aside from response to applicable +congestion control probes. When the receiver is removed from the +current list of receivers in the sender congestion control probe +messages (or the gracePeriod +expires, whichever comes first), the NORM protocol engine will post a +NORM_LOCAL_RECEIVER_CLOSED event +for the applicable session, and +related resources are then freed.

+

Return Values

+

This function has no +return values.

+

NormSetSilentReceiver()

+

Synopsis

+

#include +<normApi.h>

+

void +NormSetSilentReceiver(NormSessionHandle session, +
                           bool              silent);

+

Description

+

This function provides +the option to configure a NORM receiver application as a "silent +receiver". This mode of receiver operation dictates that the +host does not generate any protocol messages while operating as a +receiver within the specified session. + Setting the silent parameter to +true enables silent receiver +operation while setting it to false +results in normal protocol operation where feedback is provided as +needed for reliability and protocol operation. Silent receivers are +dependent upon proactive FEC transmission (see NormSetAutoParity()) +or using repair information requested by other non-silent receivers +within the group to achieve reliable transfers.

+

Return Values

+

This function has no +return values.

+

NormSetDefaultUnicastNack()

+

Synopsis

+

#include +<normApi.h>

+

void +NormSetDefaultUnicastNack(NormSessionHandle session, +
                               bool              state);

+

Description

+

This function controls +the default behavior determining the destination of receiver feedback +messages generated while participating in the session. If state +is true, "unicast NACKing" is enabled for new remote +senders while it is disabled for state +equal to false. The NACKing behavior for current remote senders is +not affected. When "unicast NACKing" is disabled +(default), NACK messages are sent to the session address (usually a +multicast address) and port, but "unicast NACKing", when +enabled, causes receiver feedback messages to be sent to the unicast +address (and port) based on the source address of sender messages +received. For unicast NORM sessions, it is recommended that "unicast +NACKing" be enabled. Note that receiver feedback messages +subject to the state of "unicast NACKing" include +NACK-messages as well as some ACK messages such as congestion control +feedback. Explicitly solicited ACK messages, such as those used to +satisfy sender watermark acknowledgement requests (see +NormSetWatermark()) are always unicast to +the applicable sender. (TBD – provide API option so that all +messages are multicast.) The default session-wide behavior for +unicast NACKing can be overridden via the NormNodeSetUnicastNack() +function for individual remote senders.

+

Return Values

+

This function has no +return values.

+

NormNodeSetUnicastNack()

+

Synopsis

+

#include +<normApi.h>

+

void +NormNodeSetUnicastNack(NormNodeHandle senderNode, +
                            bool           state);

+

Description

+

This function controls +the the destination address of receiver feedback messages generated +in response to a specific remote NORM sender.. If state +is true, "unicast NACKing" is enabled while it is disabled +for state equal to false. See the +description of NormSetDefaultUnicastNack() +for details on 'unicast NACKing" behavior.

+

Return Values

+

This function has no +return values.

+

NormSetDefaultNackingMode()

+

Synopsis

+

#include +<normApi.h>

+

void +NormSetDefaultNackingMode(NormSessionHandle session, +
                               NormNackingMode   nackingMode);

+

Description

+

This function sets the +default "nacking mode" used when receiving objects. This +allows the receiver application some control of its degree of +participation in the repair process. By limiting receivers to only +request repair of objects in which they are really interested in +receiving, some overall savings in unnecessary network loading might +be realized. Available nacking modes include:

+ + + + + + + + + + + + + + + +
+

NORM_NACK_NONE

+
+

+ Do not transmit any repair requests for the newly received object.

+
+

NORM_NACK_INFO_ONLY

+
+

+ Transmit repair requests for NORM_INFO content only as needed.

+
+

NORM_NACK_NORMAL

+
+

+ Transmit repair requests for entire object as needed.

+
+

This function specifies +the default behavior with respect to any new sender or object. + This default behavior may be overridden for specific sender nodes or +specific object using NormNodeSetNackingMode() +or NormObjectSetNackingMode(), +respectively. The receiver application's use of NORM_NACK_NONE +essentially disables a guarantee of reliable reception, although the +receiver may still take advantage of sender repair transmissions in +response to other receivers' requests. When the sender provides, +NORM_INFO content for transmitted objects, the NORM_NACK_INFO_ONLY +mode may allows the receiver to reliably receive object context +information from which it may choose to "upgrade" its +nacking mode for the specific object via the +NormObjectSetNackingMode() call. +Similarly, the receiver may changes its default nacking mode with +respect to specific senders via the NormNodeSetNackingMode() +call. The default "default nacking mode" when this call is +not made is NORM_NACK_NORMAL.

+

Return Values

+

This function has no +return values.

+

NormNodeSetNackingMode()

+

Synopsis

+

#include +<normApi.h>

+

void +NormNodeSetNackingMode(NormNodeHandle  nodeHandle, +
                            NormNackingMode +nackingMode);

+

Description

+

This function sets the +default "nacking mode" used for receiving new objects from +a specific sender as identified by the nodeHandle +parameter. This overrides the default nacking mode set for the +receive session. See +NormSetDefaultNackingMode() for a description of possible +nackingMode parameter values and +other related information.

+

Return Values

+

This function has no +return values.

+

NormObjectSetNackingMode()

+

Synopsis

+

#include +<normApi.h>

+

void +NormObjectSetNackingMode(NormObjectHandle objectHandle, +
                              NormNackingMode  nackingMode);

+

Description

+

This function sets the +"nacking mode" used for receiving a specific transport +object as identified by the objectHandle +parameter. This overrides the default nacking mode set for the +applicable sender node. See +NormSetDefaultNackingMode() for a description of possible +nackingMode parameter values and +other related information.

+

Return Values

+

This function has no +return values.

+

NormSetDefaultRepairBoundary()

+

Synopsis

+

#include +<normApi.h>

+

void +NormSetDefaultRepairBoundary(NormSessionHandle  sessionHandle, +
                                  NormRepairBoundary +repairBoundary);

+

Description

+

This function allows +the receiver application to customize, for a given sessionHandle, +at what points the receiver initiates the NORM NACK repair process +during protocol operation. Normally, the NORM receiver initiates +NACking for repairs at the FEC code block and transport object +boundaries. For smaller block sizes, the NACK repair process is +often/quickly initiated and the repair of an object will occur, as +needed, during the transmission of the object. This default +operation corresponds to repairBoundary +equal to NORM_BOUNDARY_BLOCK. +Using this function, the application may alternatively, setting +repairBoundary equal to NORM_BOUNDARY_OBJECT, +cause the protocol to defer NACK process initiation until the current +transport object has been completely transmitted. This mode of +operation may be useful when it is desirable to allow receivers with +high quality network connectivity (perhaps requiring only a little +(or even no) "auto parity" (see NormSetAutoParity()) +to achieve reliable transfer) receive object transmission before any +extensive repair process that may be required to satisfy other +receivers with poor network connectivity. The repair boundary can +also be set for individual remote senders using the +NormNodeSetRepairBoundary() function.

+

Return Values

+

This function has no +return values.

+

NormNodeSetRepairBoundary()

+

Synopsis

+

#include +<normApi.h>

+

void +NormNodeSetRepairBoundary(NormNodeHandle     nodeHandle, +
                               NormRepairBoundary +repairBoundary);

+

Description

+

This function allows +the receiver application to customize, for the specific remote sender +referenced by the nodeHandle +parameter, at what points the receiver initiates the NORM NACK repair +process during protocol operation. See the description of +NormSetDefaultRepairBoundary() for +further details on the impact of setting the NORM receiver repair +boundary and possible values for the repairBoundary +parameter.

+

Return Values

+

This function has no +return values.

+

NormStreamRead()

+

Synopsis

+

#include +<normApi.h>

+

bool +NormStreamRead(NormObjectHandle +streamHandle,
                    char*            buffer
                    unsigned +int*    numBytes);

+

Description

+

This function can be +used by the receiver application to read any available data from an +incoming NORM stream. NORM receiver applications "learn" +of available NORM streams via NORM_RX_OBJECT_NEW +notification events. The streamHandle +parameter here must correspond to a valid NormObjectHandle +value provided during such a prior +NORM_RX_OBJECT_NEW notification. The buffer +parameter must be a pointer to an array where the received data can +be stored of a length as referenced by the numBytes +pointer. On successful completion, the numBytes +storage will be modified to indicate the actual number of bytes +copied into the provided buffer. +If the numBytes storage is +modified to a zero value, this indicates that no stream data was +currently available for reading.

+

Note that +NormStreamRead() is never a blocking call +and only returns failure (false) +when a break in the integrity of the received stream occurs. The +NORM_RX_OBJECT_UPDATE provides an +indication to when there is stream data available for reading. When +such notification occurs, the application should repeatedly +read from the stream until the numBytes +storage is set to zero, even if a false +value is returned. Additional NORM_RX_OBJECT_UPDATE +notifications might not be posted until the application can has read +all available data.

+

Return Values

+

This function normally +returns a value of true. However, if a break in the integrity of the +reliable received stream occurs, a value of false is returned to +indicate the break. The application may continue to read from the +stream as the NORM protocol will automatically "resync" to +streams, even if network conditions are sufficiently poor that breaks +in reliability occur. If such a "break" and "resync" +occurs, the application may be able to leverage other NORM API calls +such as NormStreamSeekMsgStart() or +NormStreamGetOffset() if needed to +recover its alignment with received stream content. This depends +upon the nature of the application and its stream content.

+

NormStreamSeekMsgStart()

+

Synopsis

+

#include +<normApi.h>

+

bool +NormStreamSeekMsgStart(NormObjectHandle streamHandle);

+

Description

+

This function advances +the read offset of the receive stream referenced by the streamHandle +parameter to align with the next available message boundary. Message +boundaries are defined by the sender application using the +NormStreamMarkEom() call. Note that any +received data prior to the next message boundary is discarded by the +NORM protocol engine and is not available to the application (i.e., +there is currently no "rewind" function for a NORM stream). + Also note this call cannot be used to skip messages. Once a valid +message boundary is found, the application must read from the +stream using NormStreamRead() to further +advance the read offset. The current offset (in bytes) for the +stream can be retrieved via NormStreamGetReadOffset().

+

Return Values

+

This function returns a +value of true when +start-of-message is found. The next call to NormStreamRead() +will retrieve data aligned with the message start. If no new message +boundary is found in the buffered receive data for the stream, the +function returns a value of false. + In this case, the application should defer repeating a call to this +function until a subsequent NORM_RX_OBJECT_UPDATE +notification is posted.

+

NormStreamGetReadOffset()

+

Synopsis

+

#include +<normApi.h>

+

unsigned +long NormStreamGetReadOffset(NormObjectHandle streamHandle);

+

Description

+

This function retrieves +the current read offset value for the receive stream indicated by the +streamHandle parameter. Note that +for very long-lived streams, this value may wrap. Thus, in general, +applications should not be highly dependent upon the stream offset, +but this feature may be valuable for certain applications which +associate some application context with stream position.

+

Return Values

+

This function returns +the current read offset in bytes. The return value is undefined for +sender streams. There is no error result. +

+

NORM Object Functions

+

The functions described +in this section may be used for sender or receiver purposes to manage +transmission and reception of NORM transport objects. In most cases, +the receiver will be the typical user of these functions to retrieve +additional information on newly-received objects. All of these +functions require a valid NormObjectHandle +argument which specifies the applicable object. Note that +NormObjectHandle values obtained from a +NormEvent notification may be considered +valid only until a subsequent call to NormGetNextEvent(), +unless explicitly retained by the application (see +NormObjectRetain()). NormObjectHandle +values obtained as a result of NormFileEnqueue(), +NormDataEnqueue(), or NormOpenStream() +calls can be considered valid only until a corresponding +NORM_TX_OBJECT_PURGED notification +is posted or the object is dequeued using NormCancelObject(), +unless, again, otherwise explicitly retained (see +NormObjectRetain()).

+

NormObjectGetType()

+

Synopsis

+

#include +<normApi.h>

+

NormObjectType +NormObjectGetType(NormObjectHandle objectHandle);

+

Description

+

This function can be +used to determine the object type (NORM_OBJECT_DATA, +NORM_OBJECT_FILE, or +NORM_OBJECT_STREAM) for the NORM +transport object identified by the objectHandle +parameter. The objectHandle must +refer to a current, valid transport object.

+

Return Values

+

This function returns +the NORM object type. Valid NORM object types include +NORM_OBJECT_DATA, +NORM_OBJECT_FILE, or +NORM_OBJECT_STREAM. A type value +of NORM_OBJECT_NONE will be +returned for an objectHandle value of NORM_OBJECT_INVALID.

+

NormObjectHasInfo()

+

Synopsis

+

#include +<normApi.h>

+

bool +NormObjectHasInfo(NormObjectHandle objectHandle);

+

Description

+

This function can be +used to determine if the sender has associated any NORM_INFO content +with the transport object specified by the objectHandle +parameter. This can even be used before the NORM_INFO content +is delivered to the receiver and a NORM_RX_OBJECT_INFO +notification is posted.

+

Return Values

+

A value of true +is returned if NORM_INFO is (or will be) available for the specified +transport object. A value of false +is returned otherwise.

+

NormObjectGetInfoLength()

+

Synopsis

+

#include +<normApi.h>

+

unsigned +short NormObjectGetInfoLength(NormObjectHandle objectHandle);

+

Description

+

This function can be +used to determine the length of currently available NORM_INFO content +(if any) associated with the transport object referenced by the +objectHandle parameter.

+

Return Values

+

The length of the +NORM_INFO content, in bytes, of currently available for the specified +transport object is returned. A value of 0 +is returned if no NORM_INFO content is currently available or +associated with the object.

+

NormObjectGetInfo()

+

Synopsis

+

#include +<normApi.h>

+

unsigned +short NormObjectGetInfo(NormObjectHandle +objectHandle,
                                 char*            buffer,
                                 unsigned +short   bufferLen);

+

Description

+

This function copies +any NORM_INFO content associated (by the sender application) with the +transport object specified by objectHandle +into the provided memory space referenced by the buffer +parameter. The bufferLen +parameter indicates the length of the buffer +space in bytes. If the provided bufferLen +is less than the actual NORM_INFO length, a partial copy will occur. +The actual length of NORM_INFO content available for the specified +object is returned. However, note that until a NORM_RX_OBJECT_INFO +notification is posted to the receive application, no NORM_INFO +content is available and a zero result will be returned, even if +NORM_INFO content may be subsequently available. The +NormObjectHasInfo() call can be used to +determine if any NORM_INFO content will ever be available for a +specified transport object (i.e., determine if the sender has +associated any NORM_INFO with the object in question).

+

Return Values

+

The actual length of +currently available NORM_INFO content for the specified +transport object is returned. This function can be used to determine +the length of NORM_INFO content for the object even if a NULL +buffer value and zero bufferLen +is provided. A zero value is returned if NORM_INFO content has not +yet been received (or is non-existent) for the specified object.

+

NormObjectGetSize()

+

Synopsis

+

#include +<normApi.h>

+

off_t +NormObjectHasInfo(NormObjectHandle objectHandle);

+

Description

+

This function can be +used to determine the size (in bytes) of the transport object +specified by the objectHandle +parameter. NORM can support large object sizes for the +NORM_OBJECT_FILE type, so +typically the NORM library is built with any necessary, related +macros defined such that operating system large file support is +enabled (e.g., "#define _FILE_OFFSET_BITS +64" or equivalent). Developers should configure their +build environment to correspond with the NORM library used to ensure +that the "off_t" +type is appropriately defined. +

+

For objects of type +NORM_OBJECT_STREAM, the size +returned here corresponds to the stream buffer size set by the sender +application when opening the referenced stream object.

+

Return Values

+

A size of the data +content of the specified object, in bytes, is returned. Note that it +may be possible that some objects have zero data content, but do have +NORM_INFO content available.

+

NormObjectCancel()

+

Synopsis

+

#include +<normApi.h>

+

void +NormObjectCancel(NormObjectHandle objectHandle);

+

Description

+

This function +immediately cancels the transmission of a local sender transport +object or the reception of a specified object from a remote sender as +specified by the objectHandle +parameter. The objectHandle must +refer to a currently valid NORM transport object. Any resources used +by the transport object in question are immediately freed unless the +object has been otherwise retained by the application via the +NormObjectRetain() call. Unless the +application has retained the object in such fashion, the object in +question should be considered invalid and the application must not +again reference the objectHandle +after this call is made. +

+

If the canceled object +is a sender object not completely received by participating +receivers, the receivers will be informed of the object's +cancellation via the NORM protocol NORM_CMD(SQUELCH) message in +response to any NACKs requesting repair or retransmission of the +applicable object. In the case of receive objects, the NORM receiver +will not make further requests for repair of the indicated object, +but furthermore, will acknowledge the object as completed with +respect to any associated positive acknowledgement requests (see +NormSetWatermark()).

+

Return Values

+

This function has no +return value.

+

NormObjectRetain()

+

Synopsis

+

#include +<normApi.h>

+

void +NormObjectRetain(NormObjectHandle objectHandle);

+

Description

+

This function "retains" +the objectHandle and any state +associated with it for further use by the application even when the +NORM protocol engine may no longer require access to the associated +transport object. Normally, the application is guaranteed that a +given NormObjectHandle is valid only +while it is being actively transported by NORM (i.e., for sender +objects, from the time an object is created by the application until +it is canceled by the application or purged (see the +NORM_TX_OBJECT_PURGED +notification) by the protocol engine, or, for receiver objects, from +the time of the object's NORM_RX_OBJECT_NEW +notification until its reception is canceled by the application or a +NORM_RX_OBJECT_COMPLETED or +NORM_RX_OBJECT_ABORTED +notification is posted). Note that an application may refer to a +given object after any related notification until the application +makes a subsequent call to NormGetNextEvent(). + +

+

When the application +makes a call to NormObjectRetain() for a +given objectHandle, the +application may use that objectHandle +value in any NORM API calls until the application makes a call to +NormObjectRelease() for the given object. + Note that the application MUST make a corresponding call to +NormObjectRelease() for each call it has +made to NormObjectRetain() in order to +free any system resources (i.e., memory) used by that object. Also +note that retaining a receive object also automatically retains any +state associated with the NormNodeHandle +corresponding to the remote sender of that receive object so +that the application may use NORM node API calls for the value +returned by NormObjectGetSender() as +needed.

+

Return Values

+

This function has no +return value.

+

NormObjectRelease()

+

Synopsis

+

#include +<normApi.h>

+

void +NormObjectRelease(NormObjectHandle objectHandle);

+

Description

+

This function +complements the NormObjectRetain() call +by immediately freeing any resources associated with the given +objectHandle, assuming the +underlying NORM protocol engine no longer requires access to the +corresponding transport object. Note the NORM protocol engine +retains/releases state for associated objects for its own needs and +thus it is very unsafe for an application to call NormObjectRelease() +for an objectHandle for which it +has not previously explicitly retained via NormObjectRetain(). + +

+

Return Values

+

This function has no +return value.

+

NormFileGetName()

+

Synopsis

+

#include +<normApi.h>

+

bool +NormFileGetName(NormObjectHandle +fileHandle)
                     char*            nameBuffer,
                     unsigned +int     bufferLen);

+

Description

+

This function copies +the name, as a NULL-terminated string, of the file object specified +by the fileHandle parameter into +the nameBuffer of length bufferLen +bytes provided by the application. The fileHandle +parameter must refer to a valid NormObjectHandle +for an object of type NORM_OBJECT_FILE. If the actual name is longer +than the provided bufferLen, a +partial copy will occur. Note that the file name consists of the +entire path name of the specified file object and the application +should give consideration to operating system file path lengths when +providing the nameBuffer.

+

Return Values

+

This function returns +true upon success and false upon failure. Possible failure +conditions include the fileHandle +does not refer to an object of type NORM_OBJECT_FILE.

+

NormFileRename()

+

Synopsis

+

#include +<normApi.h>

+

bool +NormFileRename(NormObjectHandle fileHandle)
                    const +char*      fileName);

+

Description

+

This function renames +the file used to store content for the NORM_OBJECT_FILE +transport object specified by the fileHandle +parameter. This allows receiver applications to rename (or move) +received files as needed. NORM uses temporary file names for +received files until the application explicitly renames the file. +For example, sender applications may choose to use the NORM_INFO +content associated with a file object to provide name and/or typing +information to receivers. The fileName +parameter must be a NULL-terminated string which should specify the +full desired path name to be used. NORM will attempt to create +sub-directories as needed to satisfy the request. Note that existing +files of the same name may be overwritten.

+

Return Values

+

This function returns +true upon success and false upon failure. Possible failure +conditions include the case where the fileHandle +does not refer to an object of type NORM_OBJECT_FILE +and where NORM was unable to successfully create any needed +directories and/or the file itself.

+

NormDataAccessData()

+

Synopsis

+

#include +<normApi.h>

+

const +char* NormDataAccessData(NormObjectHandle objectHandle)

+

Description

+

This function allows +the application to access the data storage area associated with a +transport object of type NORM_OBJECT_DATA. + For example, the application may use this function to copy the +received data content for its own use. Alternatively, the +application may establish "ownership" for the allocated +memory space using the NormDataDetachData() +function if it is desired to avoid the copy.

+

If the object specified +by the objectHandle parameter has +no data content (or is not of type NORM_OBJECT_DATA), +a NULL value may be returned. The application MUST NOT attempt to +modify the memory space used by NORM_OBJECT_DATA +objects during the time an associated objectHandle +is valid. The length of data storage area can be determined with a +call to NormObjectGetSize() for the same +objectHandle value.

+

Return Values

+

This function returns a +pointer to the data storage area for the specified transport object. +A NULL value may be returned if the object has no associated data +content or is not of type NORM_OBJECT_DATA.

+

NormDataDetachData()

+

Synopsis

+

#include +<normApi.h>

+

char* +NormDataDetachData(NormObjectHandle objectHandle)

+

Description

+

This function allows +the application to disassociate data storage allocated by the NORM +protocol engine for a receive object from the NORM_OBJECT_DATA +transport object specified by the objectHandle +parameter. It is important that this function is called after +the NORM protocol engine has indicated it is finished with the data +object (i.e., after a NORM_TX_OBJECT_PURGED, +NORM_RX_OBJECT_COMPLETED, or +NORM_RX_OBJECT_ABORTED +notification event). But the application must call +NormDataDetachData() before a call +is made to NormObjectCancel() or +NormObjectRelease() for the object if it +plans to access the data content afterwards. Otherwise, the NORM +protocol engine will free the applicable memory space when the +associated NORM_OBJECT_DATA +transport object is deleted and the application will be unable to +access the received data unless it has previously copied the content.

+

Once the application +has used this call to "detach" the data content, it is the +application's responsibility to subsequently free the data storage +space as needed.

+

Return Values

+

This function returns a +pointer to the data storage area for the specified transport object. +A NULL value may be returned if the object has no associated data +content or is not of type NORM_OBJECT_DATA.

+

NormObjectGetSender()

+

Synopsis

+

#include +<normApi.h>

+

NormNodeHandle +NormObjectGetSender(NormObjectHandle objectHandle)

+

Description

+

This function retrieves +the NormNodeHandle corresponding to the +remote sender of the transport object associated with the given +objectHandle parameter. Note that +the returned NormNodeHandle value is only +valid for the same period that the objectHandle +is valid. The returned NormNodeHandle +may optionally be retained for further use by the application using +the NormNodeRetain() function call. The +returned value can be used in the NORM Node Functions described later +in this document.

+

Return Values

+

This function returns +the NormNodeHandle corresponding to the +remote sender of the transport object associated with the given +objectHandle parameter. A value +of NORM_NODE_INVALID is returned if the specified objectHandle +references a locally originated, sender object.

+

NORM Node Functions

+

The functions described +in this section may be used for NORM sender or receiver (most +typically receiver) purposes to retrieve additional information about +a NormNode, given a valid NormNodeHandle. + Note that, unless specifically retained (see NormNodeRetain()), +a NormNodeHandle provided in a NormEvent +notification should be considered valid only until a subsequent call +to NormGetNextEvent() is made. +NormNodeHandles retrieved using +NormObjectGetSender() can be considered +valid for the same period of time as the corresponding +NormObjectHandle is valid.

+

NormNodeGetId()

+

Synopsis

+

#include +<normApi.h>

+

NormNodeId +NormNodeGetId(NormNodeHandle nodeHandle)

+

Description

+

This function retrieves +the NormNodeId identifier for the remote +participant referenced by the given nodeHandle +value. The NormNodeId is a 32-bit value used within the NORM +protocol to uniquely identify participants within a NORM session. +The participants identifiers are assigned by the application or +derived (by the NORM API code) from the host computers default IP +address.

+

Return Values

+

This function returns +the NormNodeId value associated with the +specified nodeHandle. In the case +nodeHandle is equal to +NORM_NODE_INVALID, the return +value will be NORM_NODE_NONE.

+

NormNodeRetain()

+

Synopsis

+

#include +<normApi.h>

+

void +NormNodeRetain(NormNodeHandle nodeHandle)

+

Description

+

In the same manner as +the NormObjectRetain() function, this +function allows the application to retain state associated with a +given nodeHandle value even when +the underlying NORM protocol engine might normally free the +associated state and thus invalidate the NormNodeHandle. + If the application uses this function, it must make a corresponding +call to NormNodeRelease() when finished +with the node information to avoid a memory leak condition. +NormNodeHandle values (unless retained) +are valid from the time of a NORM_REMOTE_SERVER_NEW +notification until a complimentary NORM_REMOTE_SERVER_PURGED +notification. During that interval, the application will receive +NORM_REMOTE_SERVER_ACTIVE and +NORM_REMOTE_SERVER_INACTIVE +notifications according to the server's message transmission activity +within the session.

+

It is important to note +that, if the NORM protocol engine posts a NORM_REMOTE_SERVER_PURGED +notification for a given NormNodeHandle, +the NORM protocol engine could possibly, subsequently establish a +new, different NormNodeHandle value for +the same remote server (i.e., one of equivalent NormNodeId) +if it again becomes active in the session. A new NormNodeHandle +may likely be established even if the application has retained the +previous NormNodeHandle value. +Therefore, to the application, it might appear that two different +servers with the same NormNodeId are +participating if these notifications are not carefully monitored. +This behavior is contingent upon how the application has configured +the NORM protocol engine to manage resources when there is potential +for a large number of remote servers within a session (related APIs +are TBD). For example, the application may wish to control which +specific remote servers for which it keeps state (or limit the memory +resources used for remote servers state, etc) and the NORM API may be +extended in the future to control this behavior.

+

Return Values

+

This function has no +return value.

+

NormNodeRelease()

+

Synopsis

+

#include +<normApi.h>

+

void +NormNodeRelease(NormNodeHandle nodeHandle)

+

Description

+

In complement to the +NormNodeRetain() function, this API call +releases the specified nodeHandle +so that the NORM protocol engine may free associated resources as +needed. Once this call is made, the application should no longer +reference the specified NormNodeHandle, +unless it is still valid.

+

Return Values

+

This function has no +return value.

+ + diff --git a/NormDeveloperGuide.pdf b/NormDeveloperGuide.pdf new file mode 100644 index 0000000000000000000000000000000000000000..52240ee9d7677fd5b75220c918c0d155f1ab5ef5 GIT binary patch literal 672054 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

?|4 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

!ZDbGHIo|K$S=E$zB%`cyM4 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≫`b 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

)IRs$IX9P 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 literal 0 HcmV?d00001 diff --git a/VERSION.TXT b/VERSION.TXT index 6e62914..ed35c8e 100644 --- a/VERSION.TXT +++ b/VERSION.TXT @@ -1,9 +1,14 @@ NORM Version History +Version 1.2b5 +============= + - Initial release with theoretically-working API + (including "Norm Developer's Guide!") + Version 1.2b4 ============= - Finally remembered to update this file! - - Added "help" command to "norm" demo app (Thanks Marinho Barcellos) + - Added "help" command to "norm" demo app (Thanks Marinho Barcellos!) - New rxbuffer mgmnt scheme to better use limited buffer space. - Removed explicit rate limit on receiver feedback messages - API more complete and established better API naming conventions @@ -12,6 +17,7 @@ Version 1.2b4 - NORM RFC 3940 was released and this version is in compliance. - Added optional positive acknowledgements for sender-defined "watermarks". + - Fixed multicast leave problem when interfaceName was used for join Version 1.1b9 ============= diff --git a/common/normApi.cpp b/common/normApi.cpp index d1311ec..5df047f 100644 --- a/common/normApi.cpp +++ b/common/normApi.cpp @@ -10,6 +10,11 @@ const NormNodeId NORM_NODE_NONE = ((NormNodeId)0x00000000); const NormNodeId NORM_NODE_ANY = ((NormNodeId)0xffffffff); const NormObjectHandle NORM_OBJECT_INVALID = ((NormObjectHandle)0); +/** The "NormInstance" class is a C++ helper class that keeps + * state for an instance of the NORM API. It acts as a + * "go between" the API's procedural function calls and + * the underlying NORM C++ implementation + */ class NormInstance : public NormController { public: @@ -48,6 +53,11 @@ class NormInstance : public NormController NormSession* session = (NormSession*)sessionHandle; return static_cast(session->GetSessionMgr().GetController()); } + static NormInstance* GetInstanceFromNode(NormNodeHandle nodeHandle) + { + NormSession& session = ((NormNode*)nodeHandle)->GetSession(); + return static_cast(session.GetSessionMgr().GetController()); + } static NormInstance* GetInstanceFromObject(NormObjectHandle objectHandle) { NormSession& session = ((NormObject*)objectHandle)->GetSession();; @@ -209,7 +219,7 @@ void NormInstance::Notify(NormController::Event event, { case RX_OBJECT_NEW: { - // recv object "Accept()" policy implemented here + // new recv object "Accept()" policy implemented here switch (object->GetType()) { case NormObject::STREAM: @@ -265,8 +275,27 @@ void NormInstance::Notify(NormController::Event event, } break; } + case NormObject::DATA: + { + NormDataObject* dataObj = static_cast(object); + unsigned int dataLen = (unsigned int)(object->GetSize().GetOffset()); + char* dataPtr = new char[dataLen]; + if (NULL == dataPtr) + { + DMSG(0, "NormInstance::Notify(RX_OBJECT_NEW) new dataPtr error: %s\n", + GetErrorString()); + return; + } + // Note that the "true" parameter means the + // NORM protocol engine will free the allocated + // data on object deletion, so the app should + // use NormDataDetachData() to keep the received + // data (or copy it before the data object is deleted) + dataObj->Accept(dataPtr, dataLen, true); + break; + } default: - // (TBD) support other object types + // This shouldn't occur return; } // end switch(object->GetType()) break; @@ -329,7 +358,7 @@ bool NormInstance::GetNextEvent(NormEvent* theEvent) // First, do any garbage collection for "previous_notification" if (NULL != previous_notification) { - // (TBD) "Release" purged/completed/aborted objects + // "Release" any purged/completed/aborted objects switch(previous_notification->event.type) { case NORM_RX_OBJECT_COMPLETED: @@ -366,7 +395,7 @@ bool NormInstance::GetNextEvent(NormEvent* theEvent) { case NORM_EVENT_INVALID: continue; - case NORM_RX_OBJECT_UPDATE: + case NORM_RX_OBJECT_UPDATED: // reset update event notification ((NormObject*)n->event.object)->SetNotifyOnUpdate(true); break; @@ -480,6 +509,7 @@ void NormInstance::Shutdown() default: break; } + notify_pool.Append(previous_notification); previous_notification = NULL; } @@ -494,9 +524,6 @@ void NormInstance::Shutdown() NormObject* obj = (NormObject*)n->event.object; switch (obj->GetType()) { - case NormObject::DATA: - delete (char*)static_cast(obj)->GetData(); - break; case NormObject::FILE: // (TBD) unlink temp file? break; @@ -525,6 +552,8 @@ void NormInstance::Shutdown() // NORM API FUNCTION IMPLEMENTATIONS // +/** NORM API Initialization */ + NormInstanceHandle NormCreateInstance() { NormInstance* normInstance = new NormInstance; @@ -543,6 +572,36 @@ void NormDestroyInstance(NormInstanceHandle instanceHandle) delete ((NormInstance*)instanceHandle); } // end NormDestroyInstance() +bool NormSetCacheDirectory(NormInstanceHandle instanceHandle, + const char* cachePath) +{ + NormInstance* instance = (NormInstance*)instanceHandle; + if (instance) + return instance->SetCacheDirectory(cachePath); + else + return false; +} // end NormSetCacheDirectory() + +bool NormGetNextEvent(NormInstanceHandle instanceHandle, NormEvent* theEvent) +{ + bool result = false; + NormInstance* instance = (NormInstance*)instanceHandle; + if (instance) + { + if (instance->NotifyQueueIsEmpty()) //(TBD) perform this check??? + instance->WaitForEvent(); + if (instance->dispatcher.SuspendThread()) + { + result = instance->GetNextEvent(theEvent); + instance->dispatcher.ResumeThread(); + } + } + return result; +} // end NormGetNextEvent() + + +/** NORM Session Creation and Control Functions */ + NormSessionHandle NormCreateSession(NormInstanceHandle instanceHandle, const char* sessionAddr, unsigned short sessionPort, @@ -577,27 +636,6 @@ void NormDestroySession(NormSessionHandle sessionHandle) } } // end NormDestroySession() -void NormSetTransmitRate(NormSessionHandle sessionHandle, - double bitsPerSecond) -{ - NormInstance* instance = NormInstance::GetInstanceFromSession(sessionHandle); - if (instance && instance->dispatcher.SuspendThread()) - { - NormSession* session = (NormSession*)sessionHandle; - if (session) session->SetTxRate(bitsPerSecond); - instance->dispatcher.ResumeThread(); - } -} // end NormSetTransmitRate() - -void NormSetGrttEstimate(NormSessionHandle sessionHandle, - double grttEstimate) -{ - // (TBD) suspend instance if timer reschedule is - // added to ServerSetGrtt() method. - NormSession* session = (NormSession*)sessionHandle; - if (session) session->ServerSetGrtt(grttEstimate); -} // end NormSetGrttEstimate() - NormNodeId NormGetLocalNodeId(NormSessionHandle sessionHandle) { NormSession* session = (NormSession*)sessionHandle; @@ -607,6 +645,62 @@ NormNodeId NormGetLocalNodeId(NormSessionHandle sessionHandle) return NORM_NODE_NONE; } // end NormGetLocalNodeId() +bool NormSetMulticastInterface(NormSessionHandle sessionHandle, + const char* interfaceName) +{ + bool result = false; + NormInstance* instance = NormInstance::GetInstanceFromSession(sessionHandle); + if (instance) + { + if (instance->dispatcher.SuspendThread()) + { + NormSession* session = (NormSession*)sessionHandle; + if (session) + result = session->SetMulticastInterface(interfaceName); + instance->dispatcher.ResumeThread(); + } + } + return result; +} // end NormSetMulticastInterface() + +bool NormSetTTL(NormSessionHandle sessionHandle, + unsigned char ttl) +{ + bool result = false; + NormInstance* instance = NormInstance::GetInstanceFromSession(sessionHandle); + if (instance) + { + if (instance->dispatcher.SuspendThread()) + { + NormSession* session = (NormSession*)sessionHandle; + if (session) + result = session->SetTTL(ttl); + instance->dispatcher.ResumeThread(); + } + } + return result; +} // end NormSetTTL() + +bool NormSetTOS(NormSessionHandle sessionHandle, + unsigned char tos) +{ + bool result = false; + NormInstance* instance = NormInstance::GetInstanceFromSession(sessionHandle); + if (instance) + { + if (instance->dispatcher.SuspendThread()) + { + NormSession* session = (NormSession*)sessionHandle; + if (session) + result = session->SetTTL(tos); + instance->dispatcher.ResumeThread(); + } + } + return result; +} // end NormSetTOS() + +/** Special test/debug support functions */ + bool NormSetLoopback(NormSessionHandle sessionHandle, bool state) { NormSession* session = (NormSession*)sessionHandle; @@ -616,6 +710,27 @@ bool NormSetLoopback(NormSessionHandle sessionHandle, bool state) return false; } // end NormSetLoopback() +void NormSetMessageTrace(NormSessionHandle sessionHandle, bool state) +{ + NormSession* session = (NormSession*)sessionHandle; + if (session) session->SetTrace(state); +} // end NormSetMessageTrace() + +void NormSetTxLoss(NormSessionHandle sessionHandle, double percent) +{ + NormSession* session = (NormSession*)sessionHandle; + if (session) session->SetTxLoss(percent); +} // end NormSetTxLoss() + +void NormSetRxLoss(NormSessionHandle sessionHandle, double percent) +{ + NormSession* session = (NormSession*)sessionHandle; + if (session) session->SetRxLoss(percent); +} // end NormSetRxLoss() + + +/** NORM Sender Functions */ + bool NormStartSender(NormSessionHandle sessionHandle, unsigned long bufferSpace, unsigned short segmentSize, @@ -647,6 +762,251 @@ void NormStopSender(NormSessionHandle sessionHandle) } } // end NormStopSender() +void NormSetTransmitRate(NormSessionHandle sessionHandle, + double bitsPerSecond) +{ + NormInstance* instance = NormInstance::GetInstanceFromSession(sessionHandle); + if (instance && instance->dispatcher.SuspendThread()) + { + NormSession* session = (NormSession*)sessionHandle; + if (session) session->SetTxRate(bitsPerSecond); + instance->dispatcher.ResumeThread(); + } +} // end NormSetTransmitRate() + +void NormSetCongestionControl(NormSessionHandle sessionHandle, bool enable) +{ + NormInstance* instance = NormInstance::GetInstanceFromSession(sessionHandle); + if (instance && instance->dispatcher.SuspendThread()) + { + NormSession* session = (NormSession*)sessionHandle; + if (session) session->SetCongestionControl(enable); + instance->dispatcher.ResumeThread(); + } +} // end NormSetCongestionControl() + +void NormSetTransmitRateBounds(NormSessionHandle sessionHandle, + double rateMin, + double rateMax) +{ + NormInstance* instance = NormInstance::GetInstanceFromSession(sessionHandle); + if (instance && instance->dispatcher.SuspendThread()) + { + NormSession* session = (NormSession*)sessionHandle; + if (session) session->SetTxRateBounds(rateMin, rateMax); + instance->dispatcher.ResumeThread(); + } +} // end NormSetTransmitRateBounds() + +void NormSetAutoParity(NormSessionHandle sessionHandle, unsigned char autoParity) +{ + NormInstance* instance = NormInstance::GetInstanceFromSession(sessionHandle); + if (instance && instance->dispatcher.SuspendThread()) + { + NormSession* session = (NormSession*)sessionHandle; + if (session) session->ServerSetAutoParity(autoParity); + instance->dispatcher.ResumeThread(); + } +} // end NormSetAutoParity() + +void NormSetGrttEstimate(NormSessionHandle sessionHandle, + double grttEstimate) +{ + // (TBD) suspend instance if timer reschedule is + // added to ServerSetGrtt() method. + NormSession* session = (NormSession*)sessionHandle; + if (session) session->ServerSetGrtt(grttEstimate); +} // end NormSetGrttEstimate() + +bool NormAddAckingNode(NormSessionHandle sessionHandle, + NormNodeId nodeId) +{ + bool result = false; + NormInstance* instance = NormInstance::GetInstanceFromSession(sessionHandle); + if (instance && instance->dispatcher.SuspendThread()) + { + NormSession* session = (NormSession*)sessionHandle; + if (session) + result = session->ServerAddAckingNode(nodeId); + instance->dispatcher.ResumeThread(); + } + return result; +} // end NormAddAckingNode() + +void NormRemoveAckingNode(NormSessionHandle sessionHandle, + NormNodeId nodeId) +{ + NormInstance* instance = NormInstance::GetInstanceFromSession(sessionHandle); + if (instance && instance->dispatcher.SuspendThread()) + { + NormSession* session = (NormSession*)sessionHandle; + if (session) session->ServerRemoveAckingNode(nodeId); + instance->dispatcher.ResumeThread(); + } +} // end NormRemoveAckingNode() + +NormObjectHandle NormFileEnqueue(NormSessionHandle sessionHandle, + const char* fileName, + const char* infoPtr, + unsigned int infoLen) +{ + NormObjectHandle objectHandle = NORM_OBJECT_INVALID; + NormInstance* instance = NormInstance::GetInstanceFromSession(sessionHandle); + if (instance && instance->dispatcher.SuspendThread()) + { + NormSession* session = (NormSession*)sessionHandle; + if (session) + { + NormObject* obj = session->QueueTxFile(fileName, infoPtr, infoLen); + if (obj) objectHandle = (NormObjectHandle)obj; + } + instance->dispatcher.ResumeThread(); + } + return objectHandle; +} // end NormFileEnqueue() + +NormObjectHandle NormDataEnqueue(NormSessionHandle sessionHandle, + const char* dataPtr, + unsigned long dataLen, + const char* infoPtr = NULL, + unsigned int infoLen = 0) +{ + NormObjectHandle objectHandle = NORM_OBJECT_INVALID; + NormInstance* instance = NormInstance::GetInstanceFromSession(sessionHandle); + if (instance && instance->dispatcher.SuspendThread()) + { + NormSession* session = (NormSession*)sessionHandle; + if (session) + { + NormObject* obj = session->QueueTxData(dataPtr, dataLen, infoPtr, infoLen); + if (obj) objectHandle = (NormObjectHandle)obj; + } + instance->dispatcher.ResumeThread(); + } + return objectHandle; +} // end NormDataEnqueue() + +NormObjectHandle NormStreamOpen(NormSessionHandle sessionHandle, + unsigned long bufferSize) +{ + NormObjectHandle objectHandle = NORM_OBJECT_INVALID; + NormInstance* instance = NormInstance::GetInstanceFromSession(sessionHandle); + if (instance && instance->dispatcher.SuspendThread()) + { + NormSession* session = (NormSession*)sessionHandle; + if (session) + { + NormObject* obj = + static_cast(session->QueueTxStream(bufferSize)); + if (obj) objectHandle = (NormObjectHandle)obj; + } + instance->dispatcher.ResumeThread(); + } + return objectHandle; +} // end NormStreamOpen() + +void NormStreamClose(NormObjectHandle streamHandle) +{ + NormObjectCancel(streamHandle); +} // end NormStreamClose() + +unsigned int NormStreamWrite(NormObjectHandle streamHandle, + const char* buffer, + unsigned int numBytes) +{ + unsigned int result = 0; + NormInstance* instance = NormInstance::GetInstanceFromObject(streamHandle); + if (instance && instance->dispatcher.SuspendThread()) + { + NormStreamObject* stream = + static_cast((NormObject*)streamHandle); + if (stream) + result = stream->Write(buffer, numBytes, false); + instance->dispatcher.ResumeThread(); + } + return result; +} // end NormStreamWrite() + +void NormStreamFlush(NormObjectHandle streamHandle, + bool eom, + NormFlushMode flushMode) +{ + NormInstance* instance = NormInstance::GetInstanceFromObject(streamHandle); + if (instance && instance->dispatcher.SuspendThread()) + { + NormStreamObject* stream = + static_cast((NormObject*)streamHandle); + if (stream) stream->Flush(eom); + instance->dispatcher.ResumeThread(); + } +} // end NormStreamFlush() + +void NormStreamSetAutoFlush(NormObjectHandle streamHandle, + NormFlushMode flushMode) +{ + NormStreamObject* stream = + static_cast((NormObject*)streamHandle); + if (stream) + stream->SetFlushMode((NormStreamObject::FlushMode)flushMode); +} // end NormStreamSetAutoFlush() + +void NormStreamSetPushEnable(NormObjectHandle streamHandle, bool state) +{ + NormStreamObject* stream = + static_cast((NormObject*)streamHandle); + if (stream) stream->SetPushMode(state); +} // end NormStreamSetPushEnable() + + +void NormStreamMarkEom(NormObjectHandle streamHandle) +{ + NormInstance* instance = NormInstance::GetInstanceFromObject(streamHandle); + if (instance && instance->dispatcher.SuspendThread()) + { + NormStreamObject* stream = + static_cast((NormObject*)streamHandle); + if (stream) stream->Write(NULL, 0, true); + instance->dispatcher.ResumeThread(); + } +} // end NormStreamMarkEom() + +bool NormSetWatermark(NormSessionHandle sessionHandle, + NormObjectHandle objectHandle) +{ + bool result = false; + NormInstance* instance = NormInstance::GetInstanceFromSession(sessionHandle); + if (instance && instance->dispatcher.SuspendThread()) + { + NormSession* session = (NormSession*)sessionHandle; + NormObject* obj = (NormObject*)objectHandle; + if (session && obj) + { + // (segmentId doesn't matter for non-stream) + if (obj->IsStream()) + { + NormStreamObject* stream = static_cast(obj); + session->ServerSetWatermark(stream->GetId(), + stream->FlushBlockId(), + stream->FlushSegmentId()); + } + else + { + NormBlockId blockId = obj->GetFinalBlockId(); + NormSegmentId segmentId = obj->GetBlockSize(blockId) - 1; + session->ServerSetWatermark(obj->GetId(), + blockId, + segmentId); + } + result = true; + } + instance->dispatcher.ResumeThread(); + } + return result; +} // end NormSetWatermark() + + +/** NORM Receiver Functions */ + bool NormStartReceiver(NormSessionHandle sessionHandle, unsigned long bufferSpace) { @@ -676,24 +1036,47 @@ void NormStopReceiver(NormSessionHandle sessionHandle) } } // end NormStopReceiver() -void NormSetMessageTrace(NormSessionHandle sessionHandle, bool state) +void NormSetSilentReceiver(NormSessionHandle sessionHandle, + bool silent) { NormSession* session = (NormSession*)sessionHandle; - if (session) session->SetTrace(state); -} // end NormSetMessageTrace() + if (session) session->ClientSetSilent(silent); +} // end NormSetSilentReceiver() -void NormSetTxLoss(NormSessionHandle sessionHandle, double percent) +void NormSetDefaultUnicastNack(NormSessionHandle sessionHandle, + bool unicastNacks) { NormSession* session = (NormSession*)sessionHandle; - if (session) session->SetTxLoss(percent); -} // end NormSetTxLoss() + if (session) session->ClientSetUnicastNacks(unicastNacks); +} // end NormSetDefaultUnicastNack() -void NormSetRxLoss(NormSessionHandle sessionHandle, double percent) +void NormNodeSetUnicastNack(NormNodeHandle nodeHandle, + bool unicastNacks) +{ + NormServerNode* node = (NormServerNode*)nodeHandle; + if (node) node->SetUnicastNacks(unicastNacks); +} // end NormNodeSetUnicastNack() + +void NormSetDefaultNackingMode(NormSessionHandle sessionHandle, + NormNackingMode nackingMode) { NormSession* session = (NormSession*)sessionHandle; - if (session) session->SetRxLoss(percent); -} // end NormSetRxLoss() + if (session) session->ClientSetDefaultNackingMode((NormObject::NackingMode)nackingMode); +} // end NormSetDefaultNackingMode() +void NormNodeSetNackingMode(NormNodeHandle nodeHandle, + NormNackingMode nackingMode) +{ + NormServerNode* node = (NormServerNode*)nodeHandle; + if (node) node->SetDefaultNackingMode((NormObject::NackingMode)nackingMode); +} // end NormNodeSetNackingMode() + +void NormObjectSetNackingMode(NormObjectHandle objectHandle, + NormNackingMode nackingMode) +{ + NormObject* object = (NormObject*)objectHandle; + if (object) object->SetNackingMode((NormObject::NackingMode)nackingMode); +} // end NormObjectSetNackingMode() void NormSetDefaultRepairBoundary(NormSessionHandle sessionHandle, NormRepairBoundary repairBoundary) @@ -703,17 +1086,6 @@ void NormSetDefaultRepairBoundary(NormSessionHandle sessionHandle, session->ClientSetDefaultRepairBoundary((NormServerNode::RepairBoundary)repairBoundary); } // end NormSetDefaultRepairBoundary() - -NormRepairBoundary NormNodeGetRepairBoundary(NormNodeHandle nodeHandle) -{ - NormServerNode* node = static_cast((NormNode*)nodeHandle); - if (node) - return ((NormRepairBoundary)(node->GetRepairBoundary())); - else - return NORM_BOUNDARY_BLOCK; // return default value -} // end NormNodeGetRepairBoundary() - - void NormNodeSetRepairBoundary(NormNodeHandle nodeHandle, NormRepairBoundary repairBoundary) { @@ -722,16 +1094,48 @@ void NormNodeSetRepairBoundary(NormNodeHandle nodeHandle, node->SetRepairBoundary((NormServerNode::RepairBoundary)repairBoundary); } // end NormNodeSetRepairBoundary() - -NormNodeId NormNodeGetId(NormNodeHandle nodeHandle) +bool NormStreamRead(NormObjectHandle streamHandle, + char* buffer, + unsigned int* numBytes) { - NormNode* node = (NormNode*)nodeHandle; - if (node) - return node->GetId(); - else - return NORM_NODE_NONE; -} // end NormNodeGetId() + bool result = false; + NormInstance* instance = NormInstance::GetInstanceFromObject(streamHandle); + if (instance && instance->dispatcher.SuspendThread()) + { + NormStreamObject* stream = + static_cast((NormObject*)streamHandle); + if (stream) + result = stream->Read(buffer, numBytes); + instance->dispatcher.ResumeThread(); + } + return result; +} // end NormStreamRead() +bool NormStreamSeekMsgStart(NormObjectHandle streamHandle) +{ + bool result = false; + NormInstance* instance = NormInstance::GetInstanceFromObject(streamHandle); + if (instance && instance->dispatcher.SuspendThread()) + { + NormStreamObject* stream = + static_cast((NormObject*)streamHandle); + unsigned int numBytes = 0; + if (stream) + result = stream->Read(NULL, &numBytes, true); + instance->dispatcher.ResumeThread(); + } + return result; +} // end NormStreamSeekMsgStart() + + +unsigned long NormStreamGetReadOffset(NormObjectHandle streamHandle) +{ + NormStreamObject* stream = static_cast((NormObject*)streamHandle); + return stream->GetCurrentReadOffset(); +} // end NormStreamGetReadOffset() + + +/** NORM Object Functions */ NormObjectType NormObjectGetType(NormObjectHandle objectHandle) { @@ -741,44 +1145,41 @@ NormObjectType NormObjectGetType(NormObjectHandle objectHandle) return NORM_OBJECT_NONE; } // end NormObjectGetType() -NormObjectTransportId NormObjectGetTransportId(NormObjectHandle objectHandle) +bool NormObjectHasInfo(NormObjectHandle objectHandle) { - // Like many other API calls, these should be changed - // to provide an error code result - if (NORM_OBJECT_INVALID != objectHandle) - return ((NormObjectTransportId)(((NormObject*)objectHandle)->GetId())); - else - return 0; -} // end NormObjectGetTransportId() + return ((NormObject*)objectHandle)->HasInfo(); +} // end NormObjectHasInfo() -bool NormObjectGetInfo(NormObjectHandle objectHandle, - char* infoBuffer, - unsigned short* infoLen) +unsigned short NormObjectGetInfoLength(NormObjectHandle objectHandle) { - if ((NORM_OBJECT_INVALID != objectHandle) && infoLen) + return ((NormObject*)objectHandle)->GetInfoLength(); +} // end NormObjectGetInfoLength() + +unsigned short NormObjectGetInfo(NormObjectHandle objectHandle, + char* buffer, + unsigned short bufferLen) +{ + unsigned short result = 0; + if (NORM_OBJECT_INVALID != objectHandle) { - bool result = true; NormObject* object = (NormObject*)objectHandle; if (object->HaveInfo()) { - unsigned short bufferLen = *infoLen; - *infoLen = object->GetInfoLength(); - if (bufferLen >= *infoLen) - bufferLen = *infoLen; - else - result = false; // incomplete copy - if (infoBuffer) - memcpy(infoBuffer, object->GetInfo(), bufferLen); + result = object->GetInfoLength(); + if (result < bufferLen) + bufferLen = result; + if (buffer) + memcpy(buffer, object->GetInfo(), bufferLen); } - else - { - *infoLen = 0; - } - return result; } - return false; + return result; } // end NormObjectGetInfo() +off_t NormObjectGetSize(NormObjectHandle objectHandle) +{ + return ((NormObject*)objectHandle)->GetSize().GetOffset(); +} // end NormObjectGetSize() + void NormObjectCancel(NormObjectHandle objectHandle) { if (NORM_OBJECT_INVALID != objectHandle) @@ -827,274 +1228,6 @@ void NormObjectRelease(NormObjectHandle objectHandle) } } // end NormObjectRelease() -NormNackingMode NormObjectGetNackingMode(NormObjectHandle objectHandle) -{ - NormObject* object = (NormObject*)objectHandle; - if (object) - return ((NormNackingMode)object->GetNackingMode()); - else - return NORM_NACK_NONE; -} // end NormObjectGetNackingMode() - -void NormSetObjectNackingMode(NormObjectHandle objectHandle, - NormNackingMode nackingMode) -{ - NormObject* object = (NormObject*)objectHandle; - if (object) object->SetNackingMode((NormObject::NackingMode)nackingMode); -} // end NormSetObjectNackingMode() - -void NormObjectSetNackingMode(NormNodeHandle nodeHandle, - NormNackingMode nackingMode) -{ - NormServerNode* node = (NormServerNode*)nodeHandle; - if (node) node->SetDefaultNackingMode((NormObject::NackingMode)nackingMode); -} // end NormObjectSetNackingMode() - -void NormSetDefaultNackingMode(NormSessionHandle sessionHandle, - NormNackingMode nackingMode) -{ - NormSession* session = (NormSession*)sessionHandle; - if (session) session->ClientSetDefaultNackingMode((NormObject::NackingMode)nackingMode); -} // end NormSetDefaultNackingMode() - -bool NormSetWatermark(NormSessionHandle sessionHandle, - NormObjectHandle objectHandle) -{ - bool result = false; - NormInstance* instance = NormInstance::GetInstanceFromSession(sessionHandle); - if (instance && instance->dispatcher.SuspendThread()) - { - NormSession* session = (NormSession*)sessionHandle; - NormObject* obj = (NormObject*)objectHandle; - if (session && obj) - { - // (TBD) set stream watermark differently - // (segmentId doesn't matter for non-stream) - if (obj->IsStream()) - { - NormStreamObject* stream = static_cast(obj); - session->ServerSetWatermark(stream->GetId(), - stream->FlushBlockId(), - stream->FlushSegmentId()); - } - else - { - NormBlockId blockId = obj->GetFinalBlockId(); - NormSegmentId segmentId = obj->GetBlockSize(blockId) - 1; - session->ServerSetWatermark(obj->GetId(), - blockId, - segmentId); - } - result = true; - } - instance->dispatcher.ResumeThread(); - } - return result; -} // end NormSetWatermark() - -bool NormAddAckingNode(NormSessionHandle sessionHandle, - NormNodeId nodeId) -{ - bool result = false; - NormInstance* instance = NormInstance::GetInstanceFromSession(sessionHandle); - if (instance && instance->dispatcher.SuspendThread()) - { - NormSession* session = (NormSession*)sessionHandle; - if (session) - result = session->ServerAddAckingNode(nodeId); - instance->dispatcher.ResumeThread(); - } - return result; -} // end NormAddAckingNode() - -void NormRemoveAckingNode(NormSessionHandle sessionHandle, - NormNodeId nodeId) -{ - NormInstance* instance = NormInstance::GetInstanceFromSession(sessionHandle); - if (instance && instance->dispatcher.SuspendThread()) - { - NormSession* session = (NormSession*)sessionHandle; - if (session) session->ServerRemoveAckingNode(nodeId); - instance->dispatcher.ResumeThread(); - } -} // end NormAddAckingNode() - -NormObjectHandle NormStreamOpen(NormSessionHandle sessionHandle, - unsigned long bufferSize) -{ - NormObjectHandle objectHandle = NORM_OBJECT_INVALID; - NormInstance* instance = NormInstance::GetInstanceFromSession(sessionHandle); - if (instance && instance->dispatcher.SuspendThread()) - { - NormSession* session = (NormSession*)sessionHandle; - if (session) - { - NormObject* obj = - static_cast(session->QueueTxStream(bufferSize)); - if (obj) objectHandle = (NormObjectHandle)obj; - } - instance->dispatcher.ResumeThread(); - } - return objectHandle; -} // end NormStreamOpen() - -void NormStreamClose(NormObjectHandle streamHandle) -{ - NormObjectCancel(streamHandle); -} // end NormStreamClose() - - -// (TBD) Some stream i/o performance improvement can be realized -// if the option to make "NormWriteStream()" and -// "NormReadStream()" _blocking_ calls is implemented. -// Right now, the stream read/write are non-blocking -// so applications should use "NormGetNextEvent()" to -// know when to read or write ... This results in the -// underlying NORM thread to be suspended/resumed _twice_ -// per read or write ... It would be more efficient to -// "suspend" the NORM thread while the application -// processes all pending events and _then_ "resume" the -// NORM thread ... an approach to this would be enable -// the app to install an event handler callback and dispatch -// events with a "NormDispatchEvents()" call ... -// - -void NormStreamSetFlushMode(NormObjectHandle streamHandle, - NormFlushMode flushMode) -{ - NormStreamObject* stream = - static_cast((NormObject*)streamHandle); - if (stream) - stream->SetFlushMode((NormStreamObject::FlushMode)flushMode); -} // end NormStreamSetFlushMode() - -void NormStreamSetPushMode(NormObjectHandle streamHandle, bool state) -{ - NormStreamObject* stream = - static_cast((NormObject*)streamHandle); - if (stream) stream->SetPushMode(state); -} // end NormStreamSetPushMode() - -void NormStreamFlush(NormObjectHandle streamHandle, bool eom) -{ - NormInstance* instance = NormInstance::GetInstanceFromObject(streamHandle); - if (instance && instance->dispatcher.SuspendThread()) - { - NormStreamObject* stream = - static_cast((NormObject*)streamHandle); - if (stream) stream->Flush(eom); - instance->dispatcher.ResumeThread(); - } -} // end NormStreamFlush() - -void NormStreamMarkEom(NormObjectHandle streamHandle) -{ - NormInstance* instance = NormInstance::GetInstanceFromObject(streamHandle); - if (instance && instance->dispatcher.SuspendThread()) - { - NormStreamObject* stream = - static_cast((NormObject*)streamHandle); - if (stream) stream->Write(NULL, 0, true); - instance->dispatcher.ResumeThread(); - } -} // end NormMarkStreamEom() - -unsigned int NormStreamWrite(NormObjectHandle streamHandle, - const char* buffer, - unsigned int numBytes) -{ - unsigned int result = 0; - NormInstance* instance = NormInstance::GetInstanceFromObject(streamHandle); - if (instance && instance->dispatcher.SuspendThread()) - { - NormStreamObject* stream = - static_cast((NormObject*)streamHandle); - if (stream) - result = stream->Write(buffer, numBytes, false); - instance->dispatcher.ResumeThread(); - } - return result; -} // end NormStreamWrite() - -bool NormStreamRead(NormObjectHandle streamHandle, - char* buffer, - unsigned int* numBytes) -{ - bool result = false; - NormInstance* instance = NormInstance::GetInstanceFromObject(streamHandle); - if (instance && instance->dispatcher.SuspendThread()) - { - NormStreamObject* stream = - static_cast((NormObject*)streamHandle); - if (stream) - result = stream->Read(buffer, numBytes); - instance->dispatcher.ResumeThread(); - } - return result; -} // end NormStreamRead() - -bool NormStreamSeekMsgStart(NormObjectHandle streamHandle) -{ - bool result = false; - NormInstance* instance = NormInstance::GetInstanceFromObject(streamHandle); - if (instance && instance->dispatcher.SuspendThread()) - { - NormStreamObject* stream = - static_cast((NormObject*)streamHandle); - unsigned int numBytes = 0; - if (stream) - result = stream->Read(NULL, &numBytes, true); - instance->dispatcher.ResumeThread(); - } - return result; -} // end NormStreamSeekMsgStart() - -NormObjectHandle NormFileEnqueue(NormSessionHandle sessionHandle, - const char* fileName, - const char* infoPtr, - unsigned int infoLen) -{ - NormObjectHandle objectHandle = NORM_OBJECT_INVALID; - NormInstance* instance = NormInstance::GetInstanceFromSession(sessionHandle); - if (instance && instance->dispatcher.SuspendThread()) - { - NormSession* session = (NormSession*)sessionHandle; - if (session) - { - NormObject* obj = session->QueueTxFile(fileName, infoPtr, infoLen); - if (obj) objectHandle = (NormObjectHandle)obj; - } - instance->dispatcher.ResumeThread(); - } - return objectHandle; -} // end NormFileEnqueue() - -bool NormSetCacheDirectory(NormInstanceHandle instanceHandle, - const char* cachePath) -{ - NormInstance* instance = (NormInstance*)instanceHandle; - if (instance) - return instance->SetCacheDirectory(cachePath); - else - return false; -} // end NormSetCacheDirectory() - -bool NormFileRename(NormObjectHandle fileHandle, - const char* fileName) -{ - bool result = false; - NormInstance* instance = NormInstance::GetInstanceFromObject(fileHandle); - if (instance && instance->dispatcher.SuspendThread()) - { - // (TBD) verify "fileHandle" is a NORM_FILE ?>?? - NormFileObject* file = - static_cast((NormObject*)fileHandle); - result = file->Rename(fileName); - instance->dispatcher.ResumeThread(); - } - return result; -} // end NormFileRename() - bool NormFileGetName(NormObjectHandle fileHandle, char* nameBuffer, unsigned int bufferLen) @@ -1113,42 +1246,92 @@ bool NormFileGetName(NormObjectHandle fileHandle, return result; } // end NormFileGetName() -NormObjectHandle NormDataEnqueue(NormSessionHandle sessionHandle, - const char* dataPtr, - unsigned long dataLen, - const char* infoPtr = NULL, - unsigned int infoLen = 0) -{ - NormObjectHandle objectHandle = NORM_OBJECT_INVALID; - NormInstance* instance = NormInstance::GetInstanceFromSession(sessionHandle); - if (instance && instance->dispatcher.SuspendThread()) - { - NormSession* session = (NormSession*)sessionHandle; - if (session) - { - NormObject* obj = session->QueueTxData(dataPtr, dataLen, infoPtr, infoLen); - if (obj) objectHandle = (NormObjectHandle)obj; - } - instance->dispatcher.ResumeThread(); - } - return objectHandle; -} // end NormDataEnqueue() - - -bool NormGetNextEvent(NormInstanceHandle instanceHandle, NormEvent* theEvent) +bool NormFileRename(NormObjectHandle fileHandle, + const char* fileName) { bool result = false; - NormInstance* instance = (NormInstance*)instanceHandle; - if (instance) + NormInstance* instance = NormInstance::GetInstanceFromObject(fileHandle); + if (instance && instance->dispatcher.SuspendThread()) { - if (instance->NotifyQueueIsEmpty()) //(TBD) perform this check??? - instance->WaitForEvent(); - if (instance->dispatcher.SuspendThread()) + // (TBD) verify "fileHandle" is a NORM_FILE ?>?? + NormFileObject* file = + static_cast((NormObject*)fileHandle); + result = file->Rename(fileName); + instance->dispatcher.ResumeThread(); + } + return result; +} // end NormFileRename() + +const char*volatile NormDataAccessData(NormObjectHandle dataHandle) +{ + NormDataObject* dataObj = + static_cast((NormObject*)dataHandle); + return dataObj->GetData(); +} // end NormDataAccessData() + +char* NormDataDetachData(NormObjectHandle dataHandle) +{ + NormDataObject* dataObj = + static_cast((NormObject*)dataHandle); + return dataObj->DetachData(); +} // end NormDataDetachData() + +NormNodeHandle NormObjectGetSender(NormObjectHandle objectHandle) +{ + return (NormNodeHandle)(((NormObject*)objectHandle)->GetServer()); +} // end NormObjectGetSender() + + +/** NORM Node Functions */ + +NormNodeId NormNodeGetId(NormNodeHandle nodeHandle) +{ + NormNode* node = (NormNode*)nodeHandle; + if (node) + return node->GetId(); + else + return NORM_NODE_NONE; +} // end NormNodeGetId() + +void NormNodeRetain(NormNodeHandle nodeHandle) +{ + if (NORM_NODE_INVALID != nodeHandle) + { + NormInstance* instance = NormInstance::GetInstanceFromNode(nodeHandle); + if (instance && instance->dispatcher.SuspendThread()) { - result = instance->GetNextEvent(theEvent); + NormNode* node = (NormNode*)nodeHandle; + node->Retain(); instance->dispatcher.ResumeThread(); } } - return result; -} // end NormGetNextEvent() +} // end NormNodeRetain() +void NormNodeRelease(NormNodeHandle nodeHandle) +{ + if (NORM_NODE_INVALID != nodeHandle) + { + NormInstance* instance = NormInstance::GetInstanceFromNode(nodeHandle); + if (instance && instance->dispatcher.SuspendThread()) + { + NormNode* node = (NormNode*)nodeHandle; + node->Release(); + instance->dispatcher.ResumeThread(); + } + } +} // end NormNodeRelease() + +// (TBD) Some stream i/o performance improvement can be realized +// if the option to make "NormWriteStream()" and +// "NormReadStream()" _blocking_ calls is implemented. +// Right now, the stream read/write are non-blocking +// so applications should use "NormGetNextEvent()" to +// know when to read or write ... This results in the +// underlying NORM thread to be suspended/resumed _twice_ +// per read or write ... It would be more efficient to +// "suspend" the NORM thread while the application +// processes all pending events and _then_ "resume" the +// NORM thread ... an approach to this would be enable +// the app to install an event handler callback and dispatch +// events with a "NormDispatchEvents()" call ... +// diff --git a/common/normApi.h b/common/normApi.h index a8eff0c..df4a095 100644 --- a/common/normApi.h +++ b/common/normApi.h @@ -6,6 +6,8 @@ #include #endif // WIN32 +#include // for "off_t" type + //////////////////////////////////////////////////////////// // IMPORTANT NOTICE // The NORM API is _very_ much in a developmental phase @@ -18,106 +20,27 @@ // is removed, the API shouldn't be considered final. +/** NORM API Data Types and Constants + * These are data types and constants defined + * for the NORM API + */ + typedef const void* NormInstanceHandle; extern const NormInstanceHandle NORM_INSTANCE_INVALID; -NormInstanceHandle NormCreateInstance(); -void NormDestroyInstance(NormInstanceHandle instanceHandle); - -// NORM session creation and control typedef const void* NormSessionHandle; extern const NormSessionHandle NORM_SESSION_INVALID; + +typedef const void* NormNodeHandle; +extern const NormNodeHandle NORM_NODE_INVALID; typedef unsigned long NormNodeId; extern const NormNodeId NORM_NODE_NONE; extern const NormNodeId NORM_NODE_ANY; -NormSessionHandle NormCreateSession(NormInstanceHandle instanceHandle, - const char* sessionAddress, - unsigned short sessionPort, - NormNodeId localNodeId); - -void NormDestroySession(NormSessionHandle sessionHandle); - -// Session management and parameters - -void NormSetTransmitRate(NormSessionHandle sessionHandle, - double bitsPerSecond); - -void NormSetGrttEstimate(NormSessionHandle sessionHandle, - double grttEstimate); - -NormNodeId NormGetLocalNodeId(NormSessionHandle sessionHandle); - -bool NormSetLoopback(NormSessionHandle sessionHandle, bool state); - -// Debug parameters -void NormSetMessageTrace(NormSessionHandle sessionHandle, bool state); -void NormSetTxLoss(NormSessionHandle sessionHandle, double percent); -void NormSetRxLoss(NormSessionHandle sessionHandle, double percent); - -// Sender control & parameters -bool NormStartSender(NormSessionHandle sessionHandle, - unsigned long bufferSpace, - unsigned short segmentSize, - unsigned char numData, - unsigned char numParity); - -void NormStopSender(NormSessionHandle sessionHandle); - -bool NormAddAckingNode(NormSessionHandle sessionHandle, - NormNodeId nodeId); - -void NormRemoveAckingNode(NormSessionHandle sessionHandle, - NormNodeId nodeId); - - -// Receiver control & parameters -bool NormStartReceiver(NormSessionHandle sessionHandle, - unsigned long bufferSpace); - -void NormStopReceiver(NormSessionHandle sessionHandle); - -void NormSetDefaultUnicastNack(NormSessionHandle sessionHandle, - bool state); - -typedef const void* NormNodeHandle; -extern const NormNodeHandle NORM_NODE_INVALID; typedef const void* NormObjectHandle; extern const NormObjectHandle NORM_OBJECT_INVALID; typedef unsigned short NormObjectTransportId; -enum NormNackingMode -{ - NORM_NACK_NONE, - NORM_NACK_INFO_ONLY, - NORM_NACK_NORMAL -}; - -void NormSetDefaultNackingMode(NormSessionHandle sessionHandle, - NormNackingMode nackingMode); - -enum NormRepairBoundary -{ - NORM_BOUNDARY_BLOCK, - NORM_BOUNDARY_OBJECT -}; - -void NormSetDefaultRepairBoundary(NormSessionHandle sessionHandle, - NormRepairBoundary repairBoundary); - -NormRepairBoundary NormNodeGetRepairBoundary(NormNodeHandle nodeHandle); - -void NormNodeSetRepairBoundary(NormNodeHandle nodeHandle, - NormRepairBoundary repairBoundary); - -NormNodeId NormNodeGetId(NormNodeHandle nodeHandle); - -void NormNodeSetNackingMode(NormNodeHandle nodeHandle, - NormNackingMode nackingMode); - - -// General NormObject functions - enum NormObjectType { NORM_OBJECT_NONE, @@ -126,95 +49,27 @@ enum NormObjectType NORM_OBJECT_STREAM }; - -NormObjectType NormObjectGetType(NormObjectHandle objectHandle); - - -bool NormObjectGetInfo(NormObjectHandle objectHandle, - char* infoBuffer, - unsigned short* infoLen); - -NormObjectTransportId NormObjectGetTransportId(NormObjectHandle objectHandle); - -void NormObjectCancel(NormObjectHandle objectHandle); - - -void NormObjectReNormObjectRetaintain(NormObjectHandle objectHandle); -void NormObjectRelease(NormObjectHandle objectHandle); - - -// Receiver-only NormObject functions -NormNackingMode NormObjectGetNackingMode(NormObjectHandle objectHandle); - -void NormObjectSetNackingMode(NormObjectHandle objectHandle, - NormNackingMode nackingMode); - - - - -// Sender-only NormObject functions -bool NormSetWatermark(NormSessionHandle sessionHandle, - NormObjectHandle objectHandle); - - -// NormStreamObject functions - -NormObjectHandle NormStreamOpen(NormSessionHandle sessionHandle, - unsigned long bufferSize); - -void NormStreamClose(NormObjectHandle streamHandle); - enum NormFlushMode { NORM_FLUSH_NONE, NORM_FLUSH_PASSIVE, NORM_FLUSH_ACTIVE }; + -void NormStreamSetFlushMode(NormObjectHandle streamHandle, - NormFlushMode flushMode); - -void NormStreamSetPushMode(NormObjectHandle streamHandle, - bool state); - -unsigned int NormStreamWrite(NormObjectHandle streamHandle, - const char* buffer, - unsigned int numBytes); - -void NormStreamFlush(NormObjectHandle streamHandle, bool eom = false); - -void NormStreamMarkEom(NormObjectHandle streamHandle); - -bool NormStreamRead(NormObjectHandle streamHandle, - char* buffer, - unsigned int* numBytes); - -bool NormStreamSeekMsgStart(NormObjectHandle streamHandle); - -// NormFileObject Functions -NormObjectHandle NormFileEnqueue(NormSessionHandle sessionHandle, - const char* fileName, - const char* infoPtr = (const char*)0, - unsigned int infoLen = 0); - -bool NormSetCacheDirectory(NormInstanceHandle instanceHandle, - const char* cachePath); - -bool NormFileGetName(NormObjectHandle fileHandle, - char* nameBuffer, - unsigned int bufferLen); - -bool NormFileRename(NormObjectHandle fileHandle, - const char* fileName); - -// NormDataObject Functions -bool NormDataEnqueue(const char* dataPtr, - unsigned long dataLen, - const char* infoPtr = (const char*)0, - unsigned int infoLen = 0); - -// NORM Event Notification Routines - +enum NormNackingMode +{ + NORM_NACK_NONE, + NORM_NACK_INFO_ONLY, + NORM_NACK_NORMAL +}; + +enum NormRepairBoundary +{ + NORM_BOUNDARY_BLOCK, + NORM_BOUNDARY_OBJECT +}; + enum NormEventType { NORM_EVENT_INVALID = 0, @@ -224,11 +79,12 @@ enum NormEventType NORM_TX_OBJECT_PURGED, NORM_LOCAL_SERVER_CLOSED, NORM_REMOTE_SERVER_NEW, - NORM_REMOTE_SERVER_INACTIVE, NORM_REMOTE_SERVER_ACTIVE, + NORM_REMOTE_SERVER_INACTIVE, + NORM_REMOTE_SERVER_PURGED, NORM_RX_OBJECT_NEW, NORM_RX_OBJECT_INFO, - NORM_RX_OBJECT_UPDATE, + NORM_RX_OBJECT_UPDATED, NORM_RX_OBJECT_COMPLETED, NORM_RX_OBJECT_ABORTED }; @@ -240,7 +96,17 @@ typedef struct NormNodeHandle sender; NormObjectHandle object; } NormEvent; + +/** NORM API General Initialization and Operation Functions */ + +NormInstanceHandle NormCreateInstance(); + +void NormDestroyInstance(NormInstanceHandle instanceHandle); + +// This MUST be set to enable NORM_OBJECT_FILE reception! +bool NormSetCacheDirectory(NormInstanceHandle instanceHandle, + const char* cachePath); // This call blocks until the next NormEvent is ready unless asynchronous // notification is used (see below) @@ -252,7 +118,7 @@ bool NormGetNextEvent(NormInstanceHandle instanceHandle, NormEvent* theEvent); // with system calls like "WaitForSingleEvent()", and on Unix the // returned descriptor can be used in a "select()" call. If this type // of asynchronous notification is used, calls to "NormGetNextEvent()" will -// not block. +// not block when the notification is posted. #ifdef WIN32 typedef HANDLE NormDescriptor; @@ -261,4 +127,184 @@ typedef int NormDescriptor; #endif // if/else WIN32/UNIX NormDescriptor NormGetDescriptor(NormInstanceHandle instanceHandle); +/** NORM Session Creation and Control Functions */ + +NormSessionHandle NormCreateSession(NormInstanceHandle instanceHandle, + const char* sessionAddress, + unsigned short sessionPort, + NormNodeId localNodeId); + +void NormDestroySession(NormSessionHandle sessionHandle); + +NormNodeId NormGetLocalNodeId(NormSessionHandle sessionHandle); + +bool NormSetMulticastInterface(NormSessionHandle sessionHandle, + const char* interfaceName); + +bool NormSetTTL(NormSessionHandle sessionHandle, + unsigned char ttl); + +bool NormSetTOS(NormSessionHandle sessionHandle, + unsigned char tos); + +bool NormSetLoopback(NormSessionHandle sessionHandle, + bool loopback); + +// Special functions for debug support +void NormSetMessageTrace(NormSessionHandle sessionHandle, bool state); +void NormSetTxLoss(NormSessionHandle sessionHandle, double percent); +void NormSetRxLoss(NormSessionHandle sessionHandle, double percent); + + +/** NORM Sender Functions */ + +bool NormStartSender(NormSessionHandle sessionHandle, + unsigned long bufferSpace, + unsigned short segmentSize, + unsigned char numData, + unsigned char numParity); + +void NormStopSender(NormSessionHandle sessionHandle); + +void NormSetTransmitRate(NormSessionHandle sessionHandle, + double bitsPerSecond); + +void NormSetCongestionControl(NormSessionHandle sessionHandle, + bool state); + +void NormSetTransmitRateBounds(NormSessionHandle sessionHandle, + double rateMin, + double rateMax); + +void NormSetAutoParity(NormSessionHandle sessionHandle, + unsigned char autoParity); + +void NormSetGrttEstimate(NormSessionHandle sessionHandle, + double grttEstimate); + +bool NormAddAckingNode(NormSessionHandle sessionHandle, + NormNodeId nodeId); + +void NormRemoveAckingNode(NormSessionHandle sessionHandle, + NormNodeId nodeId); + +NormObjectHandle NormFileEnqueue(NormSessionHandle sessionHandle, + const char* fileName, + const char* infoPtr = (const char*)0, + unsigned int infoLen = 0); + +bool NormDataEnqueue(const char* dataPtr, + unsigned long dataLen, + const char* infoPtr = (const char*)0, + unsigned int infoLen = 0); + + + +NormObjectHandle NormStreamOpen(NormSessionHandle sessionHandle, + unsigned long bufferSize); + +void NormStreamClose(NormObjectHandle streamHandle); + +unsigned int NormStreamWrite(NormObjectHandle streamHandle, + const char* buffer, + unsigned int numBytes); + +void NormStreamFlush(NormObjectHandle streamHandle, + bool eom = false, + NormFlushMode flushMode = NORM_FLUSH_PASSIVE); + +void NormStreamSetAutoFlush(NormObjectHandle streamHandle, + NormFlushMode flushMode); + +void NormStreamSetPushEnable(NormObjectHandle streamHandle, + bool pushEnable); + +void NormStreamMarkEom(NormObjectHandle streamHandle); + +bool NormSetWatermark(NormSessionHandle sessionHandle, + NormObjectHandle objectHandle); + +/** NORM Receiver Functions */ + +bool NormStartReceiver(NormSessionHandle sessionHandle, + unsigned long bufferSpace); + +void NormStopReceiver(NormSessionHandle sessionHandle); + +void NormSetSilentReceiver(NormSessionHandle sessionHandle, + bool silent); + +void NormSetDefaultUnicastNack(NormSessionHandle sessionHandle, + bool unicastNacks); + +void NormNodeSetUnicastNack(NormNodeHandle remoteSender, + bool unicastNacks); + +void NormSetDefaultNackingMode(NormSessionHandle sessionHandle, + NormNackingMode nackingMode); + +void NormNodeSetNackingMode(NormNodeHandle nodeHandle, + NormNackingMode nackingMode); + +void NormObjectSetNackingMode(NormObjectHandle objectHandle, + NormNackingMode nackingMode); + +void NormSetDefaultRepairBoundary(NormSessionHandle sessionHandle, + NormRepairBoundary repairBoundary); + +void NormNodeSetRepairBoundary(NormNodeHandle nodeHandle, + NormRepairBoundary repairBoundary); + +bool NormStreamRead(NormObjectHandle streamHandle, + char* buffer, + unsigned int* numBytes); + +bool NormStreamSeekMsgStart(NormObjectHandle streamHandle); + +unsigned long NormStreamGetReadOffset(NormObjectHandle streamHandle); + + +/** NORM Object Functions */ + +NormObjectType NormObjectGetType(NormObjectHandle objectHandle); + +bool NormObjectHasInfo(NormObjectHandle objectHandle); + +unsigned short NormObjectGetInfoLength(NormObjectHandle objectHandle); + +unsigned short NormObjectGetInfo(NormObjectHandle objectHandle, + char* buffer, + unsigned short bufferLen); + +off_t NormObjectGetSize(NormObjectHandle objectHandle); + +void NormObjectCancel(NormObjectHandle objectHandle); + +void NormObjectRetain(NormObjectHandle objectHandle); + +void NormObjectRelease(NormObjectHandle objectHandle); + +bool NormFileGetName(NormObjectHandle fileHandle, + char* nameBuffer, + unsigned int bufferLen); + +bool NormFileRename(NormObjectHandle fileHandle, + const char* fileName); + +const char*volatile NormDataAccessData(NormObjectHandle objectHandle); + +char* NormDataDetachData(NormObjectHandle objectHandle); + +NormNodeHandle NormObjectGetSender(NormObjectHandle objectHandle); + + +/** NORM Node Functions */ + +NormNodeId NormNodeGetId(NormNodeHandle nodeHandle); + +void NormNodeRetain(NormNodeHandle nodeHandle); + +void NormNodeRelease(NormNodeHandle nodeHandle); + + #endif // _NORM_API diff --git a/common/normApp.cpp b/common/normApp.cpp index 9807d5c..55208ed 100644 --- a/common/normApp.cpp +++ b/common/normApp.cpp @@ -761,7 +761,7 @@ bool NormApp::OnCommand(const char* cmd, const char* val) else if (!strncmp("unicastNacks", cmd, len)) { unicast_nacks = true; - if (session) session->SetUnicastNacks(true); + if (session) session->ClientSetUnicastNacks(true); } else if (!strncmp("silentClient", cmd, len)) { @@ -1198,8 +1198,8 @@ void NormApp::Notify(NormController::Event event, } // end switch(object->GetType()) break; - case RX_OBJECT_UPDATE: - //DMSG(0, "NormApp::Notify(RX_OBJECT_UPDATE) ...\n"); + case RX_OBJECT_UPDATED: + //DMSG(0, "NormApp::Notify(RX_OBJECT_UPDATED) ...\n"); switch (object->GetType()) { case NormObject::FILE: @@ -1212,7 +1212,7 @@ void NormApp::Notify(NormController::Event event, { if (object != rx_stream) { - DMSG(0, "NormApp::Notify(RX_OBJECT_UPDATE) update for invalid stream\n"); + DMSG(0, "NormApp::Notify(RX_OBJECT_UPDATED) update for invalid stream\n"); break; } // Read the stream when it's updated @@ -1532,7 +1532,7 @@ bool NormApp::OnStartup(int argc, const char*const* argv) if (output || rx_cache_path) { // StartClient(bufferMax (per-sender)) - session->SetUnicastNacks(unicast_nacks); + session->ClientSetUnicastNacks(unicast_nacks); session->ClientSetSilent(silent_client); if (!session->StartClient(rx_buffer_size, interface_name)) { diff --git a/common/normMessage.h b/common/normMessage.h index 4d0f6c5..82aa624 100644 --- a/common/normMessage.h +++ b/common/normMessage.h @@ -8,6 +8,7 @@ #include // for memcpy(), etc #include #include // for rand(), etc +#include // for off_t #ifdef SIMULATE #define SIM_PAYLOAD_MAX (36+8) // MGEN message size + StreamPayloadHeaderLen() @@ -94,7 +95,9 @@ inline double NormUnquantizeRate(unsigned short rate) } // This class is used to describe object "size" and/or "offset" -// (TBD) This hokey implementation should use "off_t" +// (TBD) This hokey implementation should use "off_t" as it's +// native storage format and get rid of this custom crap !!! +// (We should just get rid of this class !!!!!!!!) class NormObjectSize { public: @@ -109,6 +112,7 @@ class NormObjectSize size >>= 32; ASSERT(0 == (size & 0xffff0000)); msb = size & 0x0000ffff; + msb = 0; } UINT16 MSB() const {return msb;} @@ -159,6 +163,7 @@ class NormObjectSize NormObjectSize operator/(const NormObjectSize& b) const; off_t GetOffset() const { + off_t offset = msb; offset <<= 32; offset += lsb; diff --git a/common/normNode.cpp b/common/normNode.cpp index 6f3d3b0..5d7aeb1 100644 --- a/common/normNode.cpp +++ b/common/normNode.cpp @@ -59,7 +59,7 @@ NormServerNode::NormServerNode(class NormSession& theSession, NormNodeId nodeId) repair_boundary = session.ClientGetDefaultRepairBoundary(); default_nacking_mode = session.ClientGetDefaultNackingMode(); - unicast_nacks = session.UnicastNacks(); + unicast_nacks = session.ClientGetUnicastNacks(); // (TBD) get "max_pending_range" value from NormSession parameter repair_timer.SetListener(this, &NormServerNode::OnRepairTimeout); @@ -1706,6 +1706,7 @@ void NormServerNode::Activate() activity_timer.SetInterval(grtt_estimate*NORM_ROBUST_FACTOR); session.ActivateTimer(activity_timer); server_active = false; + session.Notify(NormController::REMOTE_SERVER_ACTIVE, this, NULL); } else { @@ -1725,7 +1726,7 @@ bool NormServerNode::OnActivityTimeout(ProtoTimer& /*theTimer*/) DMSG(0, "NormServerNode::OnActivityTimeout() node>%lu server>%lu gone inactive?\n", LocalNodeId(), GetId()); FreeBuffers(); - // (TBD) Notify application + session.Notify(NormController::REMOTE_SERVER_INACTIVE, this, NULL); } else { diff --git a/common/normNode.h b/common/normNode.h index 6c85051..c7e6e31 100644 --- a/common/normNode.h +++ b/common/normNode.h @@ -16,6 +16,8 @@ class NormNode public: NormNode(class NormSession& theSession, NormNodeId nodeId); virtual ~NormNode(); + + NormSession& GetSession() const {return session;} void Retain(); void Release(); diff --git a/common/normObject.cpp b/common/normObject.cpp index 10520a2..9ce8e86 100644 --- a/common/normObject.cpp +++ b/common/normObject.cpp @@ -11,7 +11,7 @@ NormObject::NormObject(NormObject::Type theType, transport_id(transportId), segment_size(0), pending_info(false), repair_info(false), current_block_id(0), next_segment_id(0), max_pending_block(0), max_pending_segment(0), - info(NULL), info_len(0), accepted(false), notify_on_update(true) + info_ptr(NULL), info_len(0), accepted(false), notify_on_update(true) { if (theServer) nacking_mode = theServer->GetDefaultNackingMode(); @@ -22,10 +22,10 @@ NormObject::NormObject(NormObject::Type theType, NormObject::~NormObject() { Close(); - if (info) + if (info_ptr) { - delete info; - info = NULL; + delete info_ptr; + info_ptr = NULL; } } @@ -73,7 +73,7 @@ bool NormObject::Open(const NormObjectSize& objectSize, { pending_info = true; info_len = 0; - if (!(info = new char[segmentSize])) + if (!(info_ptr = new char[segmentSize])) { DMSG(0, "NormObject::Open() info allocation error\n"); return false; @@ -84,20 +84,20 @@ bool NormObject::Open(const NormObjectSize& objectSize, { if (infoPtr) { - if (info) delete []info; + if (info_ptr) delete []info_ptr; if (infoLen > segmentSize) { DMSG(0, "NormObject::Open() info too big error\n"); info_len = 0; return false; } - if (!(info = new char[infoLen])) + if (!(info_ptr = new char[infoLen])) { DMSG(0, "NormObject::Open() info allocation error\n"); info_len = 0; return false; } - memcpy(info, infoPtr, infoLen); + memcpy(info_ptr, infoPtr, infoLen); info_len = infoLen; pending_info = true; } @@ -207,7 +207,7 @@ void NormObject::Close() bool NormObject::HandleInfoRequest() { bool increasedRepair = false; - if (info) + if (info_ptr) { if (!repair_info) { @@ -1047,7 +1047,7 @@ void NormObject::HandleObjectMessage(const NormObjectMsg& msg, "Warning! info too long.\n", LocalNodeId(), server->GetId(), (UINT16)transport_id); } - memcpy(info, infoMsg.GetInfo(), info_len); + memcpy(info_ptr, infoMsg.GetInfo(), info_len); pending_info = false; session.Notify(NormController::RX_OBJECT_INFO, server, this); } @@ -1219,9 +1219,10 @@ void NormObject::HandleObjectMessage(const NormObjectMsg& msg, block->SetPending(nextSegment); block->IncrementErasureCount(); // Clear any erasure/retrieval segments - for (UINT16 i = 0; i < erasureCount; i++) + UINT16 i; + for (i = 0; i < erasureCount; i++) block->DetachSegment(server->GetErasureLoc(i)); - for (UINT16 i = 0; i < retrievalCount; i++) + for (i = 0; i < retrievalCount; i++) block->DetachSegment(server->GetRetrievalLoc(i)); return; } @@ -1272,7 +1273,7 @@ void NormObject::HandleObjectMessage(const NormObjectMsg& msg, if (objectUpdated && notify_on_update) { notify_on_update = false; - session.Notify(NormController::RX_OBJECT_UPDATE, server, this); + session.Notify(NormController::RX_OBJECT_UPDATED, server, this); } } else @@ -1418,7 +1419,7 @@ bool NormObject::NextServerMsg(NormObjectMsg* msg) default: break; } - if (info) msg->SetFlag(NormObjectMsg::FLAG_INFO); + if (info_ptr) msg->SetFlag(NormObjectMsg::FLAG_INFO); msg->SetFecId(129); msg->SetObjectId(transport_id); @@ -1435,7 +1436,7 @@ bool NormObject::NextServerMsg(NormObjectMsg* msg) { // (TBD) set REPAIR_FLAG for retransmitted info NormInfoMsg* infoMsg = (NormInfoMsg*)msg; - infoMsg->SetInfo(info, info_len); + infoMsg->SetInfo(info_ptr, info_len); pending_info = false; return true; } @@ -1938,7 +1939,7 @@ NormDataObject::NormDataObject(class NormSession& theSession, const NormObjectId& objectId) : NormObject(DATA, theSession, theServer, objectId), large_block_length(0,0), small_block_length(0,0), - data_ptr(NULL), data_max(0) + data_ptr(NULL), data_max(0), data_released(false) { } @@ -1946,11 +1947,21 @@ NormDataObject::NormDataObject(class NormSession& theSession, NormDataObject::~NormDataObject() { Close(); + if (data_released) + { + if (data_ptr) + { + delete data_ptr; + data_ptr = NULL; + } + data_released = false; + } } // Assign data object to data ptr bool NormDataObject::Open(char* dataPtr, UINT32 dataLen, + bool dataRelease, const char* infoPtr, UINT16 infoLen) { @@ -1976,15 +1987,16 @@ bool NormDataObject::Open(char* dataPtr, } data_ptr = dataPtr; data_max = dataLen; + data_released = dataRelease; large_block_length = NormObjectSize(large_block_size) * segment_size; small_block_length = NormObjectSize(small_block_size) * segment_size; return true; } // end NormDataObject::Open() -bool NormDataObject::Accept(char* dataPtr, UINT32 dataMax) +bool NormDataObject::Accept(char* dataPtr, UINT32 dataMax, bool dataRelease) { ASSERT(NULL == server); - if (Open(dataPtr, dataMax)) + if (Open(dataPtr, dataMax, dataRelease)) { NormObject::Accept(); return true; @@ -2005,6 +2017,11 @@ bool NormDataObject::WriteSegment(NormBlockId blockId, const char* buffer, bool /*msgStart*/) { + if (NULL == data_ptr) + { + DMSG(0, "NormDataObject::WriteSegment() error: NULL data_ptr\n"); + return false; + } UINT16 len; if (blockId == final_block_id) { @@ -2046,6 +2063,11 @@ UINT16 NormDataObject::ReadSegment(NormBlockId blockId, char* buffer, bool* /*msgStart*/) { + if (NULL == data_ptr) + { + DMSG(0, "NormDataObject::ReadSegment() error: NULL data_ptr\n"); + return 0; + } // Determine segment length from blockId::segmentId UINT16 len; if (blockId == final_block_id) @@ -2075,14 +2097,23 @@ UINT16 NormDataObject::ReadSegment(NormBlockId blockId, segmentSize*segmentId; } ASSERT(0 == segmentOffset.MSB()); - ASSERT(data_max >= (segmentOffset.LSB() + len)); + if (data_max <= segmentOffset.LSB()) + return 0; + else if (data_max <= (segmentOffset.LSB() + len)) + len -= (segmentOffset.LSB() + len - data_max); + memcpy(buffer, data_ptr + segmentOffset.LSB(), len); - return true; + return len; } // end NormDataObject::ReadSegment() char* NormDataObject::RetrieveSegment(NormBlockId blockId, NormSegmentId segmentId) { + if (NULL == data_ptr) + { + DMSG(0, "NormDataObject::RetrieveSegment() error: NULL data_ptr\n"); + return NULL; + } // Determine segment length from blockId::segmentId UINT16 len; if (blockId == final_block_id) @@ -2101,7 +2132,7 @@ char* NormDataObject::RetrieveSegment(NormBlockId blockId, if (server) { char* segment = server->GetRetrievalSegment(); - ReadSegment(blockId, segmentId, segment); + len = ReadSegment(blockId, segmentId, segment); memset(segment+len, 0, segment_size-len); return segment; } @@ -2490,7 +2521,7 @@ bool NormStreamObject::WriteSegment(NormBlockId blockId, block->GetFirstPending(read_index.segment); NormBlock* tempBlock = block; UINT32 tempOffset = read_offset; - session.Notify(NormController::RX_OBJECT_UPDATE, server, this); + session.Notify(NormController::RX_OBJECT_UPDATED, server, this); block = stream_buffer.Find(stream_buffer.RangeLo()); if (tempBlock == block) { @@ -2954,6 +2985,18 @@ NormSimObject::~NormSimObject() } +bool NormSimObject::Open(UINT32 objectSize, + const char* infoPtr , + UINT16 infoLen) +{ + return (server ? + true : + NormObject::Open(objectSize, infoPtr, infoLen, + session.ServerSegmentSize(), + session.ServerBlockSize(), + session.ServerNumParity())); +} // end NormSimObject::Open() + UINT16 NormSimObject::ReadSegment(NormBlockId blockId, NormSegmentId segmentId, char* buffer, @@ -2975,6 +3018,12 @@ UINT16 NormSimObject::ReadSegment(NormBlockId blockId, return len; } // end NormSimObject::ReadSegment() +char* NormSimObject::RetrieveSegment(NormBlockId blockId, + NormSegmentId segmentId) +{ + return server ? server->GetRetrievalSegment() : NULL; +} // end NormSimObject::RetrieveSegment() + #endif // SIMULATE ///////////////////////////////////////////////////////////////// diff --git a/common/normObject.h b/common/normObject.h index 5c4cd6a..c8a4a58 100644 --- a/common/normObject.h +++ b/common/normObject.h @@ -51,7 +51,9 @@ class NormObject const NormObjectId& GetId() const {return transport_id;} const NormObjectSize& GetSize() const {return object_size;} bool HaveInfo() const {return (info_len > 0);} - const char* GetInfo() const {return info;} + bool HasInfo() const {return (NULL != info_ptr);} + + const char* GetInfo() const {return info_ptr;} UINT16 GetInfoLength() const {return info_len;} bool IsStream() const {return (STREAM == type);} @@ -257,7 +259,7 @@ class NormObject NormBlockId final_block_id; UINT16 final_segment_size; NackingMode nacking_mode; - char* info; + char* info_ptr; UINT16 info_len; // Here are some members used to let us know @@ -321,12 +323,19 @@ class NormDataObject : public NormObject bool Open(char* dataPtr, UINT32 dataLen, + bool dataRelease, const char* infoPtr = NULL, UINT16 infoLen = 0); - bool Accept(char* dataPtr, UINT32 dataMax); + bool Accept(char* dataPtr, UINT32 dataMax, bool dataRelease); void Close(); const char* GetData() {return data_ptr;} + char* DetachData() + { + char* dataPtr = data_ptr; + data_ptr = NULL; + return dataPtr; + } virtual bool WriteSegment(NormBlockId blockId, NormSegmentId segmentId, @@ -346,6 +355,8 @@ class NormDataObject : public NormObject NormObjectSize small_block_length; char* data_ptr; UINT32 data_max; + bool data_released; // when true, data_ptr is deleted + // on NormDataObject destruction }; // end class NormDataObject @@ -357,7 +368,7 @@ class NormStreamObject : public NormObject const NormObjectId& objectId); ~NormStreamObject(); - bool Open(UINT32 bufferSize, + bool Open(UINT32 bufferSize, const char* infoPtr = NULL, UINT16 infoLen = 0); void Close(); @@ -477,12 +488,9 @@ class NormSimObject : public NormObject const NormObjectId& objectId); ~NormSimObject(); - bool Open(UINT32 objectSize, + bool Open(UINT32 objectSize, const char* infoPtr = NULL, - UINT16 infoLen = 0) - { - return server ? true : NormObject::Open(objectSize, infoPtr, infoLen); - } + UINT16 infoLen = 0); bool Accept() {NormObject::Accept(); return true;} void Close() {NormObject::Close();} @@ -497,10 +505,7 @@ class NormSimObject : public NormObject bool* msgStart = NULL); virtual char* RetrieveSegment(NormBlockId blockId, - NormSegmentId segmentId) - { - return server ? server->GetRetrievalSegment() : NULL; - } + NormSegmentId segmentId); }; // end class NormSimObject #endif // SIMULATE diff --git a/common/normSession.cpp b/common/normSession.cpp index b437dc1..92b4618 100644 --- a/common/normSession.cpp +++ b/common/normSession.cpp @@ -20,7 +20,7 @@ NormSession::NormSession(NormSessionMgr& sessionMgr, NormNodeId localNodeId) tx_socket(ProtoSocket::UDP), rx_socket(ProtoSocket::UDP), local_node_id(localNodeId), ttl(DEFAULT_TTL), loopback(false), - tx_rate(DEFAULT_TRANSMIT_RATE/8.0), + tx_rate(DEFAULT_TRANSMIT_RATE/8.0), tx_rate_min(-1.0), tx_rate_max(-1.0), backoff_factor(DEFAULT_BACKOFF_FACTOR), is_server(false), session_id(0), ndata(DEFAULT_NDATA), nparity(DEFAULT_NPARITY), auto_parity(0), extra_parity(0), next_tx_object_id(0), tx_cache_count_min(8), tx_cache_count_max(256), @@ -112,12 +112,6 @@ bool NormSession::Open(const char* interfaceName) if (address.IsMulticast()) { - if (!rx_socket.JoinGroup(address, interfaceName)) - { - DMSG(0, "NormSession::Open() rx_socket join group error\n"); - Close(); - return false; - } if (!tx_socket.SetTTL(ttl)) { DMSG(0, "NormSession::Open() tx_socket set ttl error\n"); @@ -132,11 +126,27 @@ bool NormSession::Open(const char* interfaceName) } if (interfaceName) { - rx_socket.SetMulticastInterface(interfaceName); - tx_socket.SetMulticastInterface(interfaceName); strncpy(interface_name, interfaceName, 31); interface_name[31] = '\0'; } + if ('\0' != interface_name[0]) + { + bool result = rx_socket.SetMulticastInterface(interface_name); + result &= tx_socket.SetMulticastInterface(interface_name); + if (!result) + { + DMSG(0, "NormSession::Open() error setting multicast interface\n"); + Close(); + return false; + } + interfaceName = interface_name; + } + if (!rx_socket.JoinGroup(address, interfaceName)) + { + DMSG(0, "NormSession::Open() rx_socket join group error\n"); + Close(); + return false; + } } for (unsigned int i = 0; i < DEFAULT_MESSAGE_POOL_DEPTH; i++) { @@ -179,6 +189,24 @@ void NormSession::Close() } // end NormSession::Close() +bool NormSession::SetMulticastInterface(const char* interfaceName) +{ + if (interfaceName) + { + bool result = true; + if (rx_socket.IsOpen()) + result &= rx_socket.SetMulticastInterface(interfaceName); + if (tx_socket.IsOpen()) + result &= tx_socket.SetMulticastInterface(interfaceName); + return result; + } + else + { + interface_name[0] = '\0'; + return true; + } +} // end NormSession::SetMulticastInterface() + void NormSession::SetTxRate(double txRate) { txRate /= 8.0; // convert to bytes/sec @@ -193,7 +221,7 @@ void NormSession::SetTxRate(double txRate) } tx_rate = txRate; } - else if (0.0 == tx_rate) + else if ((0.0 == tx_rate) && IsOpen()) { tx_rate = txRate; tx_timer.SetInterval(0.0); @@ -205,6 +233,37 @@ void NormSession::SetTxRate(double txRate) } } // end NormSession::SetTxRate() +void NormSession::SetTxRateBounds(double rateMin, double rateMax) +{ + // Make sure min <= max + if ((rateMin >= 0.0) && (rateMax >= 0.0)) + { + if (rateMin > rateMax) + { + double temp = rateMin; + rateMin = rateMax; + rateMax = temp; + } + } + if (rateMin < 0.0) + tx_rate_min = -1.0; + else + tx_rate_min = rateMin/8.0; // convert to bytes/second + if (rateMax < 0.0) + tx_rate_max = -1.0; + else + tx_rate_max = rateMax/8.0; // convert to bytes/second + if (cc_enable) + { + if ((tx_rate_min >= 0.0) && (tx_rate < tx_rate_min)) + tx_rate = tx_rate_min; + if ((tx_rate_max >= 0.0) && (tx_rate > tx_rate_max)) + tx_rate = tx_rate_max; + SetTxRate(tx_rate*8.0); + } +} // end NormSession::SetTxRateBounds() + + bool NormSession::StartServer(UINT32 bufferSpace, UINT16 segmentSize, UINT16 numData, @@ -285,7 +344,15 @@ bool NormSession::StartServer(UINT32 bufferSpace, //probe_timer.SetInterval(0.0); probe_pending = probe_reset = false; - if (cc_enable) tx_rate = segmentSize; + if (cc_enable) + { + tx_rate = segmentSize; + if ((tx_rate_min >= 0.0) && (tx_rate < tx_rate_min)) + tx_rate = tx_rate_min; + if ((tx_rate_max >= 0.0) && (tx_rate > tx_rate_max)) + tx_rate = tx_rate_max; + } + OnProbeTimeout(probe_timer); ActivateTimer(probe_timer); return true; @@ -782,7 +849,7 @@ NormDataObject* NormSession::QueueTxData(const char* dataPtr, strerror(errno)); return NULL; } - if (!obj->Open((char*)dataPtr, dataLen, infoPtr, infoLen)) + if (!obj->Open((char*)dataPtr, dataLen, false, infoPtr, infoLen)) { DMSG(0, "NormSession::QueueTxData() object open error\n"); delete obj; @@ -1263,6 +1330,7 @@ void NormSession::ClientHandleObjectMessage(const struct timeval& currentTime, { if ((theServer = new NormServerNode(*this, msg.GetSourceId()))) { + Notify(NormController::REMOTE_SERVER_NEW, theServer, NULL); if (theServer->Open(msg.GetSessionId())) { server_tree.AttachNode(theServer); @@ -2821,10 +2889,18 @@ void NormSession::AdjustRate(bool onResponse) }*/ } + + // Don't let tx_rate below MIN(one segment per grtt, one segment per second) double minRate = ((double)segment_size) / grtt_measured; minRate = MIN((double)segment_size, minRate); tx_rate = MAX(tx_rate, minRate); + // Keep "tx_rate" within user set rate bounds (if any) + if ((tx_rate_min >= 0.0) && (tx_rate < tx_rate_min)) + tx_rate = tx_rate_min; + if ((tx_rate_max >= 0.0) && (tx_rate > tx_rate_max)) + tx_rate = tx_rate_max; + struct timeval currentTime; ::ProtoSystemTime(currentTime); double theTime = (double)currentTime.tv_sec + 1.0e-06 * ((double)currentTime.tv_usec); diff --git a/common/normSession.h b/common/normSession.h index 032579c..b7c2e0e 100644 --- a/common/normSession.h +++ b/common/normSession.h @@ -20,11 +20,12 @@ class NormController TX_OBJECT_PURGED, LOCAL_SERVER_CLOSED, REMOTE_SERVER_NEW, - REMOTE_SERVER_INACTIVE, REMOTE_SERVER_ACTIVE, + REMOTE_SERVER_INACTIVE, + REMOTE_SERVER_PURGED, RX_OBJECT_NEW, RX_OBJECT_INFO, - RX_OBJECT_UPDATE, + RX_OBJECT_UPDATED, RX_OBJECT_COMPLETED, RX_OBJECT_ABORTED }; @@ -102,6 +103,7 @@ class NormSession bool IsOpen() {return (rx_socket.IsOpen() || tx_socket.IsOpen());} const ProtoAddress& Address() {return address;} void SetAddress(const ProtoAddress& addr) {address = addr;} + bool SetMulticastInterface(const char* interfaceName); bool SetTTL(UINT8 theTTL) { bool result = tx_socket.IsOpen() ? tx_socket.SetTTL(theTTL) : true; @@ -129,6 +131,7 @@ class NormSession void SetBackoffFactor(double value) {backoff_factor = value;} bool CongestionControl() {return cc_enable;} void SetCongestionControl(bool state) {cc_enable = state;} + void SetTxRateBounds(double rateMin, double rateMax); void Notify(NormController::Event event, class NormServerNode* server, @@ -249,8 +252,8 @@ class NormSession bool IsClient() const {return is_client;} unsigned long RemoteServerBufferSize() const {return remote_server_buffer_size;} - void SetUnicastNacks(bool state) {unicast_nacks = state;} - bool UnicastNacks() const {return unicast_nacks;} + void ClientSetUnicastNacks(bool state) {unicast_nacks = state;} + bool ClientGetUnicastNacks() const {return unicast_nacks;} void ClientSetSilent(bool state) {client_silent = state;} bool ClientIsSilent() const {return client_silent;} @@ -342,6 +345,8 @@ class NormSession bool loopback; // to receive own traffic char interface_name[32]; double tx_rate; // bytes per second + double tx_rate_min; + double tx_rate_max; double backoff_factor; // Server parameters and state diff --git a/common/normSimAgent.cpp b/common/normSimAgent.cpp index 804b0e4..dd6ccf4 100644 --- a/common/normSimAgent.cpp +++ b/common/normSimAgent.cpp @@ -20,7 +20,7 @@ NormSimAgent::NormSimAgent(ProtoTimerMgr& timerMgr, tx_object_size(0), tx_object_interval(0.0), tx_object_size_min(0), tx_object_size_max(0), tx_repeat_count(0), tx_repeat_interval(0.0), - stream(NULL), auto_stream(false), push_stream(false), + stream(NULL), auto_stream(false), push_mode(false), flush_mode(NormStreamObject::FLUSH_PASSIVE), mgen(NULL), msg_sync(false), mgen_bytes(0), mgen_pending_bytes(0), tracing(false), tx_loss(0.0), rx_loss(0.0) @@ -397,6 +397,8 @@ bool NormSimAgent::ProcessCommand(const char* cmd, const char* val) DMSG(0, "NormSimAgent::ProcessCommand(sendStream) error opening stream!\n"); return false; } + stream->SetFlushMode(flush_mode); + stream->SetPushMode(push_mode); auto_stream = true; } else @@ -430,6 +432,8 @@ bool NormSimAgent::ProcessCommand(const char* cmd, const char* val) DMSG(0, "NormSimAgent::ProcessCommand(openStream) error opening stream!\n"); return false; } + stream->SetFlushMode(flush_mode); + stream->SetPushMode(push_mode); auto_stream = false; tx_msg_len = tx_msg_index = 0; } @@ -469,9 +473,9 @@ bool NormSimAgent::ProcessCommand(const char* cmd, const char* val) else if (!strncmp("push", cmd, len)) { if (!strcmp(val, "on")) - push_stream = true; + push_mode = true; else if (!strcmp(val, "off")) - push_stream = false; + push_mode = false; else { DMSG(0, "NormSimAgent::ProcessCommand(push) invalid argument!\n"); @@ -592,13 +596,12 @@ void NormSimAgent::OnInputReady() { unsigned int bytesWrote = stream->Write(tx_msg_buffer+tx_msg_index, tx_msg_len - tx_msg_index, - NormStreamObject::FLUSH_NONE, - false, push_stream); + false); tx_msg_index += bytesWrote; if (tx_msg_index == tx_msg_len) { - // Provide EOM indication to norm stream - stream->Write(NULL, 0, flush_mode, true, false); + // Mark EOM _and_ flush (using set flush mode) + stream->Write(NULL, 0, true); tx_msg_index = tx_msg_len = 0; } } @@ -609,7 +612,7 @@ bool NormSimAgent::FlushStream() { if (stream && session && session->IsServer()) { - stream->Write(NULL, 0, NormStreamObject::FLUSH_ACTIVE, false, false); + stream->Flush(true); return true; } else @@ -636,9 +639,7 @@ void NormSimAgent::Notify(NormController::Event event, // sending a dummy byte stream char buffer[NormMsg::MAX_SIZE]; unsigned int count = - stream->Write(buffer, segment_size, - NormStreamObject::FLUSH_NONE, - false, false); + stream->Write(buffer, segment_size, false); } else { diff --git a/common/normSimAgent.h b/common/normSimAgent.h index 319938d..38c662d 100644 --- a/common/normSimAgent.h +++ b/common/normSimAgent.h @@ -78,8 +78,8 @@ class NormSimAgent : public NormController NormStreamObject* stream; bool auto_stream; - bool push_stream; - NormStreamObject::FlushType flush_mode; + bool push_mode; + NormStreamObject::FlushMode flush_mode; char* tx_msg_buffer; unsigned int tx_msg_len; unsigned int tx_msg_index; diff --git a/common/normTest.cpp b/common/normTest.cpp index 6d9f506..c5ca626 100644 --- a/common/normTest.cpp +++ b/common/normTest.cpp @@ -64,7 +64,7 @@ int main(int argc, char* argv[]) // NORM_FLUSH_PASSIVE automatically flushes full writes to // the stream. - NormStreamSetFlushMode(stream, NORM_FLUSH_PASSIVE); + NormStreamSetAutoFlush(stream, NORM_FLUSH_PASSIVE); // Some variable for stream input/output @@ -143,18 +143,11 @@ int main(int argc, char* argv[]) // Assume info contains '/' delimited string if (NORM_OBJECT_FILE == NormObjectGetType(theEvent.object)) { - NormObjectTransportId id = NormObjectGetTransportId(theEvent.object); - if (0 != (id & 0x01)) - { - //NormObjectCancel(theEvent.object); - //break; - } - char fileName[PATH_MAX]; strcpy(fileName, cachePath); int pathLen = strlen(fileName); unsigned short nameLen = PATH_MAX - pathLen; - NormObjectGetInfo(theEvent.object, fileName+pathLen, &nameLen); + nameLen = NormObjectGetInfo(theEvent.object, fileName+pathLen, nameLen); fileName[nameLen + pathLen] = '\0'; char* ptr = fileName + 5; while ('\0' != *ptr) @@ -170,7 +163,7 @@ int main(int argc, char* argv[]) } break; - case NORM_RX_OBJECT_UPDATE: + case NORM_RX_OBJECT_UPDATED: { //TRACE("normTest: NORM_RX_OBJECT_UPDATE event ...\n"); if (NORM_OBJECT_STREAM != NormObjectGetType(theEvent.object)) diff --git a/common/normVersion.h b/common/normVersion.h index 0be29a5..f35fbde 100644 --- a/common/normVersion.h +++ b/common/normVersion.h @@ -32,6 +32,6 @@ #ifndef _NORM_VERSION #define _NORM_VERSION -#define VERSION "1.2b4" +#define VERSION "1.2b5" #endif // _NORM_VERSION diff --git a/win32/Norm.opt b/win32/Norm.opt index f2abf061379e78f027ba1cb0c253085fb475a7d2..a2a886f9fb5dc286c58d52f01d8418cabb98d08e 100644 GIT binary patch literal 69120 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 Jz~0ut{{yR)PJjRa literal 67072 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