From 001d50aa4609a42808f4b841d8ea2125f4553cab Mon Sep 17 00:00:00 2001 From: Brian Adamson Date: Sat, 20 Aug 2022 22:36:29 -0400 Subject: [PATCH] pynorm fixes --- .github/workflows/cmake.yml | 0 .gitignore | 0 .gitmodules | 0 BUILD.TXT | 0 CMakeLists.txt | 0 Dockerfile | 0 LICENSE | 0 NormSocketBindingNotes.txt | 0 README-Java.txt | 0 README-PyNorm.txt | 0 README.md | 0 TODO.TXT | 0 VERSION.TXT | 0 android/README.md | 0 android/build.gradle | 0 .../wrapper/LICENSE-for-gradlewrapper.txt | 0 android/gradle/wrapper/gradle-wrapper.jar | Bin .../gradle/wrapper/gradle-wrapper.properties | 0 android/gradlew.bat | 0 android/lib/CMakeLists.txt | 0 android/lib/build.gradle | 0 android/lib/src/main/AndroidManifest.xml | 0 android/settings.gradle | 0 cmake/normConfig.cmake.in | 0 doc/NormDeveloperGuide.html | 0 doc/NormDeveloperGuide.pdf | Bin doc/NormDeveloperGuide.xml | 0 doc/NormLogo.gif | Bin doc/NormUserGuide.pdf | Bin doc/NormUserGuide.xml | 0 doc/npcUsage.pdf | Bin examples/README.TXT | 0 examples/java/NormFileRecv.java | 0 examples/java/NormFileSend.java | 0 examples/java/NormFileSendRecv.java | 0 examples/java/NormMsgr.java | 0 examples/java/NormStreamRecv.java | 0 examples/java/NormStreamSend.java | 0 examples/java/README.TXT | 0 examples/normCast.cpp | 0 examples/normCastApp.cpp | 0 examples/normClient.cpp | 0 examples/normDataExample.cpp | 0 examples/normDataRecv.cpp | 0 examples/normDataSend.cpp | 0 examples/normFileRecv.cpp | 0 examples/normFileSend.cpp | 0 examples/normMsgr.cpp | 0 examples/normServer.cpp | 0 examples/normSocket.cpp | 0 examples/normSocket.h | 0 examples/normSocketNotes.txt | 0 examples/normStreamRecv.cpp | 0 examples/normStreamSend.cpp | 0 examples/normStreamer.cpp | 0 examples/python/normMsgr.py | 0 examples/win32InputHandler.cpp | 0 examples/wintest.cpp | 0 include/galois.h | 0 include/normApi.h | 285 +++++++++--------- include/normEncoder.h | 0 include/normEncoderMDP.h | 0 include/normEncoderRS16.h | 0 include/normEncoderRS8.h | 0 include/normFile.h | 0 include/normMessage.h | 0 include/normNode.h | 0 include/normObject.h | 1 + include/normPostProcess.h | 0 include/normSegment.h | 0 include/normSession.h | 0 include/normSimAgent.h | 0 include/normVersion.h | 0 makefiles/Makefile.arm-linux | 0 makefiles/Makefile.common | 0 makefiles/Makefile.freebsd | 0 makefiles/Makefile.hpux | 0 makefiles/Makefile.iphone | 0 makefiles/Makefile.linux | 0 makefiles/Makefile.macosx | 0 makefiles/Makefile.mklinux | 0 makefiles/Makefile.netbsd | 0 makefiles/Makefile.sgi | 0 makefiles/Makefile.solaris | 0 makefiles/Makefile.solx86 | 0 makefiles/Makefile.x86_64-qnx | 0 makefiles/android-ndk/AndroidManifest.xml | 0 makefiles/android-ndk/README | 0 makefiles/android-ndk/ant.properties | 0 makefiles/android-ndk/build.xml | 0 makefiles/android-ndk/jni/Android.mk | 0 makefiles/android-ndk/jni/Application.mk | 0 makefiles/android-ndk/proguard-project.txt | 0 makefiles/android-ndk/project.properties | 0 makefiles/java/Makefile.common | 0 makefiles/java/Makefile.linux | 0 makefiles/java/Makefile.macosx | 0 makefiles/java/build.xml | 0 makefiles/win32/Norm-2008.sln | 0 makefiles/win32/Norm.sln | 0 makefiles/win32/Norm.suo | Bin makefiles/win32/NormDll.vcproj | 0 makefiles/win32/NormLib.vcproj | 0 makefiles/win32/NormLib.vcproj.vs2008 | 0 makefiles/win32/norm/norm.vcproj | 0 makefiles/win32/normCast.vcxproj | 0 makefiles/win32/normTest.vcproj | 0 makefiles/win32/npc.vcproj | 0 makefiles/wince/Norm.vco | Bin makefiles/wince/Norm.vcp | 0 makefiles/wince/Norm.vcw | 0 makefiles/wince/normApp/normApp.vcp | 0 norm.pc.in | 0 norp/TODO.txt | 0 norp/VERSION.TXT | 0 norp/doc/norpUserGuide.html | 0 norp/doc/norpUserGuide.pdf | Bin norp/doc/norpUserGuide.xml | 0 norp/doc/resources/ProteanLogo.png | Bin norp/doc/resources/norpConcept.png | Bin norp/include/norp.h | 0 norp/include/norpVersion.h | 0 norp/include/protoPktSOCKS.h | 0 norp/makefiles/Makefile.common | 0 norp/makefiles/Makefile.linux | 0 norp/makefiles/Makefile.macosx | 0 norp/makefiles/win32/norp.sln | 0 norp/makefiles/win32/norp.vcxproj | 0 norp/src/common/norp.cpp | 0 norp/src/common/norpApp.cpp | 0 norp/src/common/protoPktSOCKS.cpp | 0 setup.py | 0 src/common/fecTest.cpp | 0 src/common/galois.cpp | 0 src/common/n2m.cpp | 0 src/common/normApi.cpp | 0 src/common/normApp.cpp | 0 src/common/normEncoder.cpp | 0 src/common/normEncoderMDP.cpp | 0 src/common/normEncoderRS16.cpp | 0 src/common/normEncoderRS8.cpp | 0 src/common/normFile.cpp | 0 src/common/normMessage.cpp | 0 src/common/normNode.cpp | 112 ++++--- src/common/normObject.cpp | 3 + src/common/normPostProcess.cpp | 0 src/common/normPrecode.cpp | 0 src/common/normSegment.cpp | 0 src/common/normSession.cpp | 74 ++--- src/common/normSimAgent.cpp | 0 src/common/normTest.cpp | 0 src/common/normThreadTest.cpp | 0 src/common/pcap2norm.cpp | 0 src/common/raft.cpp | 0 src/common/rules.txt | 0 src/java/.classpath | 0 src/java/.project | 0 src/java/jni/normDataJni.cpp | 0 src/java/jni/normDataJni.h | 0 src/java/jni/normEventJni.cpp | 0 src/java/jni/normEventJni.h | 0 src/java/jni/normFileJni.cpp | 0 src/java/jni/normFileJni.h | 0 src/java/jni/normInstanceJni.cpp | 0 src/java/jni/normInstanceJni.h | 0 src/java/jni/normJni.cpp | 0 src/java/jni/normJni.h | 0 src/java/jni/normNodeJni.cpp | 0 src/java/jni/normNodeJni.h | 0 src/java/jni/normObjectJni.cpp | 0 src/java/jni/normObjectJni.h | 0 src/java/jni/normSessionJni.cpp | 0 src/java/jni/normSessionJni.h | 0 src/java/jni/normStreamJni.cpp | 0 src/java/jni/normStreamJni.h | 0 src/java/src/mil/navy/nrl/norm/NormData.java | 0 src/java/src/mil/navy/nrl/norm/NormEvent.java | 0 src/java/src/mil/navy/nrl/norm/NormFile.java | 0 .../src/mil/navy/nrl/norm/NormInstance.java | 0 src/java/src/mil/navy/nrl/norm/NormNode.java | 0 .../src/mil/navy/nrl/norm/NormObject.java | 0 .../src/mil/navy/nrl/norm/NormSession.java | 0 .../src/mil/navy/nrl/norm/NormStream.java | 0 .../navy/nrl/norm/enums/NormAckingStatus.java | 0 .../navy/nrl/norm/enums/NormEventType.java | 0 .../navy/nrl/norm/enums/NormFlushMode.java | 0 .../navy/nrl/norm/enums/NormNackingMode.java | 0 .../navy/nrl/norm/enums/NormObjectType.java | 0 .../navy/nrl/norm/enums/NormProbingMode.java | 0 .../nrl/norm/enums/NormRepairBoundary.java | 0 .../navy/nrl/norm/enums/NormSyncPolicy.java | 0 .../navy/nrl/norm/io/INormEventListener.java | 0 .../mil/navy/nrl/norm/io/NormInputStream.java | 0 .../navy/nrl/norm/io/NormOutputStream.java | 0 .../nrl/norm/io/StreamBreakException.java | 0 src/pynorm/__init__.py | 0 src/pynorm/constants.py | 0 src/pynorm/core.py | 0 src/pynorm/event.py | 0 src/pynorm/extra/__init__.py | 0 src/pynorm/extra/logparser.py | 0 src/pynorm/extra/manager.py | 0 src/pynorm/instance.py | 0 src/pynorm/node.py | 0 src/pynorm/object.py | 0 src/pynorm/session.py | 0 src/sim/ns/README.txt | 0 src/sim/ns/example.tcl | 0 src/sim/ns/nackCount.cpp | 0 src/sim/ns/normcc.tcl | 0 src/sim/ns/ns226-Makefile.in | 0 src/sim/ns/nsNormAgent.cpp | 0 src/sim/ns/nsNormAgent.h | 0 src/sim/ns/simplenorm.tcl | 0 src/sim/ns/sizeAve.cpp | 0 src/sim/opnet/11.5/OpnetNormProcess.h | 0 src/sim/opnet/11.5/norm_protolib.pr.cpp | 0 src/sim/opnet/11.5/norm_protolib.pr.m | Bin src/sim/opnet/12.0/OpnetNormProcess.h | 0 src/sim/opnet/12.0/norm_protolib.pr.cpp | 0 src/sim/opnet/12.0/norm_protolib.pr.m | Bin src/unix/unixPostProcess.cpp | 0 src/win32/win32PostProcess.cpp | 0 wscript | 0 224 files changed, 246 insertions(+), 229 deletions(-) mode change 100644 => 100755 .github/workflows/cmake.yml mode change 100644 => 100755 .gitignore mode change 100644 => 100755 .gitmodules mode change 100644 => 100755 BUILD.TXT mode change 100644 => 100755 CMakeLists.txt mode change 100644 => 100755 Dockerfile mode change 100644 => 100755 LICENSE mode change 100644 => 100755 NormSocketBindingNotes.txt mode change 100644 => 100755 README-Java.txt mode change 100644 => 100755 README-PyNorm.txt mode change 100644 => 100755 README.md mode change 100644 => 100755 TODO.TXT mode change 100644 => 100755 VERSION.TXT mode change 100644 => 100755 android/README.md mode change 100644 => 100755 android/build.gradle mode change 100644 => 100755 android/gradle/wrapper/LICENSE-for-gradlewrapper.txt mode change 100644 => 100755 android/gradle/wrapper/gradle-wrapper.jar mode change 100644 => 100755 android/gradle/wrapper/gradle-wrapper.properties mode change 100644 => 100755 android/gradlew.bat mode change 100644 => 100755 android/lib/CMakeLists.txt mode change 100644 => 100755 android/lib/build.gradle mode change 100644 => 100755 android/lib/src/main/AndroidManifest.xml mode change 100644 => 100755 android/settings.gradle mode change 100644 => 100755 cmake/normConfig.cmake.in mode change 100644 => 100755 doc/NormDeveloperGuide.html mode change 100644 => 100755 doc/NormDeveloperGuide.pdf mode change 100644 => 100755 doc/NormDeveloperGuide.xml mode change 100644 => 100755 doc/NormLogo.gif mode change 100644 => 100755 doc/NormUserGuide.pdf mode change 100644 => 100755 doc/NormUserGuide.xml mode change 100644 => 100755 doc/npcUsage.pdf mode change 100644 => 100755 examples/README.TXT mode change 100644 => 100755 examples/java/NormFileRecv.java mode change 100644 => 100755 examples/java/NormFileSend.java mode change 100644 => 100755 examples/java/NormFileSendRecv.java mode change 100644 => 100755 examples/java/NormMsgr.java mode change 100644 => 100755 examples/java/NormStreamRecv.java mode change 100644 => 100755 examples/java/NormStreamSend.java mode change 100644 => 100755 examples/java/README.TXT mode change 100644 => 100755 examples/normCast.cpp mode change 100644 => 100755 examples/normCastApp.cpp mode change 100644 => 100755 examples/normClient.cpp mode change 100644 => 100755 examples/normDataExample.cpp mode change 100644 => 100755 examples/normDataRecv.cpp mode change 100644 => 100755 examples/normDataSend.cpp mode change 100644 => 100755 examples/normFileRecv.cpp mode change 100644 => 100755 examples/normFileSend.cpp mode change 100644 => 100755 examples/normMsgr.cpp mode change 100644 => 100755 examples/normServer.cpp mode change 100644 => 100755 examples/normSocket.cpp mode change 100644 => 100755 examples/normSocket.h mode change 100644 => 100755 examples/normSocketNotes.txt mode change 100644 => 100755 examples/normStreamRecv.cpp mode change 100644 => 100755 examples/normStreamSend.cpp mode change 100644 => 100755 examples/normStreamer.cpp mode change 100644 => 100755 examples/python/normMsgr.py mode change 100644 => 100755 examples/win32InputHandler.cpp mode change 100644 => 100755 examples/wintest.cpp mode change 100644 => 100755 include/galois.h mode change 100644 => 100755 include/normApi.h mode change 100644 => 100755 include/normEncoder.h mode change 100644 => 100755 include/normEncoderMDP.h mode change 100644 => 100755 include/normEncoderRS16.h mode change 100644 => 100755 include/normEncoderRS8.h mode change 100644 => 100755 include/normFile.h mode change 100644 => 100755 include/normMessage.h mode change 100644 => 100755 include/normNode.h mode change 100644 => 100755 include/normObject.h mode change 100644 => 100755 include/normPostProcess.h mode change 100644 => 100755 include/normSegment.h mode change 100644 => 100755 include/normSession.h mode change 100644 => 100755 include/normSimAgent.h mode change 100644 => 100755 include/normVersion.h mode change 100644 => 100755 makefiles/Makefile.arm-linux mode change 100644 => 100755 makefiles/Makefile.common mode change 100644 => 100755 makefiles/Makefile.freebsd mode change 100644 => 100755 makefiles/Makefile.hpux mode change 100644 => 100755 makefiles/Makefile.iphone mode change 100644 => 100755 makefiles/Makefile.linux mode change 100644 => 100755 makefiles/Makefile.macosx mode change 100644 => 100755 makefiles/Makefile.mklinux mode change 100644 => 100755 makefiles/Makefile.netbsd mode change 100644 => 100755 makefiles/Makefile.sgi mode change 100644 => 100755 makefiles/Makefile.solaris mode change 100644 => 100755 makefiles/Makefile.solx86 mode change 100644 => 100755 makefiles/Makefile.x86_64-qnx mode change 100644 => 100755 makefiles/android-ndk/AndroidManifest.xml mode change 100644 => 100755 makefiles/android-ndk/README mode change 100644 => 100755 makefiles/android-ndk/ant.properties mode change 100644 => 100755 makefiles/android-ndk/build.xml mode change 100644 => 100755 makefiles/android-ndk/jni/Android.mk mode change 100644 => 100755 makefiles/android-ndk/jni/Application.mk mode change 100644 => 100755 makefiles/android-ndk/proguard-project.txt mode change 100644 => 100755 makefiles/android-ndk/project.properties mode change 100644 => 100755 makefiles/java/Makefile.common mode change 100644 => 100755 makefiles/java/Makefile.linux mode change 100644 => 100755 makefiles/java/Makefile.macosx mode change 100644 => 100755 makefiles/java/build.xml mode change 100644 => 100755 makefiles/win32/Norm-2008.sln mode change 100644 => 100755 makefiles/win32/Norm.sln mode change 100644 => 100755 makefiles/win32/Norm.suo mode change 100644 => 100755 makefiles/win32/NormDll.vcproj mode change 100644 => 100755 makefiles/win32/NormLib.vcproj mode change 100644 => 100755 makefiles/win32/NormLib.vcproj.vs2008 mode change 100644 => 100755 makefiles/win32/norm/norm.vcproj mode change 100644 => 100755 makefiles/win32/normCast.vcxproj mode change 100644 => 100755 makefiles/win32/normTest.vcproj mode change 100644 => 100755 makefiles/win32/npc.vcproj mode change 100644 => 100755 makefiles/wince/Norm.vco mode change 100644 => 100755 makefiles/wince/Norm.vcp mode change 100644 => 100755 makefiles/wince/Norm.vcw mode change 100644 => 100755 makefiles/wince/normApp/normApp.vcp mode change 100644 => 100755 norm.pc.in mode change 100644 => 100755 norp/TODO.txt mode change 100644 => 100755 norp/VERSION.TXT mode change 100644 => 100755 norp/doc/norpUserGuide.html mode change 100644 => 100755 norp/doc/norpUserGuide.pdf mode change 100644 => 100755 norp/doc/norpUserGuide.xml mode change 100644 => 100755 norp/doc/resources/ProteanLogo.png mode change 100644 => 100755 norp/doc/resources/norpConcept.png mode change 100644 => 100755 norp/include/norp.h mode change 100644 => 100755 norp/include/norpVersion.h mode change 100644 => 100755 norp/include/protoPktSOCKS.h mode change 100644 => 100755 norp/makefiles/Makefile.common mode change 100644 => 100755 norp/makefiles/Makefile.linux mode change 100644 => 100755 norp/makefiles/Makefile.macosx mode change 100644 => 100755 norp/makefiles/win32/norp.sln mode change 100644 => 100755 norp/makefiles/win32/norp.vcxproj mode change 100644 => 100755 norp/src/common/norp.cpp mode change 100644 => 100755 norp/src/common/norpApp.cpp mode change 100644 => 100755 norp/src/common/protoPktSOCKS.cpp mode change 100644 => 100755 setup.py mode change 100644 => 100755 src/common/fecTest.cpp mode change 100644 => 100755 src/common/galois.cpp mode change 100644 => 100755 src/common/n2m.cpp mode change 100644 => 100755 src/common/normApi.cpp mode change 100644 => 100755 src/common/normApp.cpp mode change 100644 => 100755 src/common/normEncoder.cpp mode change 100644 => 100755 src/common/normEncoderMDP.cpp mode change 100644 => 100755 src/common/normEncoderRS16.cpp mode change 100644 => 100755 src/common/normEncoderRS8.cpp mode change 100644 => 100755 src/common/normFile.cpp mode change 100644 => 100755 src/common/normMessage.cpp mode change 100644 => 100755 src/common/normNode.cpp mode change 100644 => 100755 src/common/normObject.cpp mode change 100644 => 100755 src/common/normPostProcess.cpp mode change 100644 => 100755 src/common/normPrecode.cpp mode change 100644 => 100755 src/common/normSegment.cpp mode change 100644 => 100755 src/common/normSession.cpp mode change 100644 => 100755 src/common/normSimAgent.cpp mode change 100644 => 100755 src/common/normTest.cpp mode change 100644 => 100755 src/common/normThreadTest.cpp mode change 100644 => 100755 src/common/pcap2norm.cpp mode change 100644 => 100755 src/common/raft.cpp mode change 100644 => 100755 src/common/rules.txt mode change 100644 => 100755 src/java/.classpath mode change 100644 => 100755 src/java/.project mode change 100644 => 100755 src/java/jni/normDataJni.cpp mode change 100644 => 100755 src/java/jni/normDataJni.h mode change 100644 => 100755 src/java/jni/normEventJni.cpp mode change 100644 => 100755 src/java/jni/normEventJni.h mode change 100644 => 100755 src/java/jni/normFileJni.cpp mode change 100644 => 100755 src/java/jni/normFileJni.h mode change 100644 => 100755 src/java/jni/normInstanceJni.cpp mode change 100644 => 100755 src/java/jni/normInstanceJni.h mode change 100644 => 100755 src/java/jni/normJni.cpp mode change 100644 => 100755 src/java/jni/normJni.h mode change 100644 => 100755 src/java/jni/normNodeJni.cpp mode change 100644 => 100755 src/java/jni/normNodeJni.h mode change 100644 => 100755 src/java/jni/normObjectJni.cpp mode change 100644 => 100755 src/java/jni/normObjectJni.h mode change 100644 => 100755 src/java/jni/normSessionJni.cpp mode change 100644 => 100755 src/java/jni/normSessionJni.h mode change 100644 => 100755 src/java/jni/normStreamJni.cpp mode change 100644 => 100755 src/java/jni/normStreamJni.h mode change 100644 => 100755 src/java/src/mil/navy/nrl/norm/NormData.java mode change 100644 => 100755 src/java/src/mil/navy/nrl/norm/NormEvent.java mode change 100644 => 100755 src/java/src/mil/navy/nrl/norm/NormFile.java mode change 100644 => 100755 src/java/src/mil/navy/nrl/norm/NormInstance.java mode change 100644 => 100755 src/java/src/mil/navy/nrl/norm/NormNode.java mode change 100644 => 100755 src/java/src/mil/navy/nrl/norm/NormObject.java mode change 100644 => 100755 src/java/src/mil/navy/nrl/norm/NormSession.java mode change 100644 => 100755 src/java/src/mil/navy/nrl/norm/NormStream.java mode change 100644 => 100755 src/java/src/mil/navy/nrl/norm/enums/NormAckingStatus.java mode change 100644 => 100755 src/java/src/mil/navy/nrl/norm/enums/NormEventType.java mode change 100644 => 100755 src/java/src/mil/navy/nrl/norm/enums/NormFlushMode.java mode change 100644 => 100755 src/java/src/mil/navy/nrl/norm/enums/NormNackingMode.java mode change 100644 => 100755 src/java/src/mil/navy/nrl/norm/enums/NormObjectType.java mode change 100644 => 100755 src/java/src/mil/navy/nrl/norm/enums/NormProbingMode.java mode change 100644 => 100755 src/java/src/mil/navy/nrl/norm/enums/NormRepairBoundary.java mode change 100644 => 100755 src/java/src/mil/navy/nrl/norm/enums/NormSyncPolicy.java mode change 100644 => 100755 src/java/src/mil/navy/nrl/norm/io/INormEventListener.java mode change 100644 => 100755 src/java/src/mil/navy/nrl/norm/io/NormInputStream.java mode change 100644 => 100755 src/java/src/mil/navy/nrl/norm/io/NormOutputStream.java mode change 100644 => 100755 src/java/src/mil/navy/nrl/norm/io/StreamBreakException.java mode change 100644 => 100755 src/pynorm/__init__.py mode change 100644 => 100755 src/pynorm/constants.py mode change 100644 => 100755 src/pynorm/core.py mode change 100644 => 100755 src/pynorm/event.py mode change 100644 => 100755 src/pynorm/extra/__init__.py mode change 100644 => 100755 src/pynorm/extra/logparser.py mode change 100644 => 100755 src/pynorm/extra/manager.py mode change 100644 => 100755 src/pynorm/instance.py mode change 100644 => 100755 src/pynorm/node.py mode change 100644 => 100755 src/pynorm/object.py mode change 100644 => 100755 src/pynorm/session.py mode change 100644 => 100755 src/sim/ns/README.txt mode change 100644 => 100755 src/sim/ns/example.tcl mode change 100644 => 100755 src/sim/ns/nackCount.cpp mode change 100644 => 100755 src/sim/ns/normcc.tcl mode change 100644 => 100755 src/sim/ns/ns226-Makefile.in mode change 100644 => 100755 src/sim/ns/nsNormAgent.cpp mode change 100644 => 100755 src/sim/ns/nsNormAgent.h mode change 100644 => 100755 src/sim/ns/simplenorm.tcl mode change 100644 => 100755 src/sim/ns/sizeAve.cpp mode change 100644 => 100755 src/sim/opnet/11.5/OpnetNormProcess.h mode change 100644 => 100755 src/sim/opnet/11.5/norm_protolib.pr.cpp mode change 100644 => 100755 src/sim/opnet/11.5/norm_protolib.pr.m mode change 100644 => 100755 src/sim/opnet/12.0/OpnetNormProcess.h mode change 100644 => 100755 src/sim/opnet/12.0/norm_protolib.pr.cpp mode change 100644 => 100755 src/sim/opnet/12.0/norm_protolib.pr.m mode change 100644 => 100755 src/unix/unixPostProcess.cpp mode change 100644 => 100755 src/win32/win32PostProcess.cpp mode change 100644 => 100755 wscript diff --git a/.github/workflows/cmake.yml b/.github/workflows/cmake.yml old mode 100644 new mode 100755 diff --git a/.gitignore b/.gitignore old mode 100644 new mode 100755 diff --git a/.gitmodules b/.gitmodules old mode 100644 new mode 100755 diff --git a/BUILD.TXT b/BUILD.TXT old mode 100644 new mode 100755 diff --git a/CMakeLists.txt b/CMakeLists.txt old mode 100644 new mode 100755 diff --git a/Dockerfile b/Dockerfile old mode 100644 new mode 100755 diff --git a/LICENSE b/LICENSE old mode 100644 new mode 100755 diff --git a/NormSocketBindingNotes.txt b/NormSocketBindingNotes.txt old mode 100644 new mode 100755 diff --git a/README-Java.txt b/README-Java.txt old mode 100644 new mode 100755 diff --git a/README-PyNorm.txt b/README-PyNorm.txt old mode 100644 new mode 100755 diff --git a/README.md b/README.md old mode 100644 new mode 100755 diff --git a/TODO.TXT b/TODO.TXT old mode 100644 new mode 100755 diff --git a/VERSION.TXT b/VERSION.TXT old mode 100644 new mode 100755 diff --git a/android/README.md b/android/README.md old mode 100644 new mode 100755 diff --git a/android/build.gradle b/android/build.gradle old mode 100644 new mode 100755 diff --git a/android/gradle/wrapper/LICENSE-for-gradlewrapper.txt b/android/gradle/wrapper/LICENSE-for-gradlewrapper.txt old mode 100644 new mode 100755 diff --git a/android/gradle/wrapper/gradle-wrapper.jar b/android/gradle/wrapper/gradle-wrapper.jar old mode 100644 new mode 100755 diff --git a/android/gradle/wrapper/gradle-wrapper.properties b/android/gradle/wrapper/gradle-wrapper.properties old mode 100644 new mode 100755 diff --git a/android/gradlew.bat b/android/gradlew.bat old mode 100644 new mode 100755 diff --git a/android/lib/CMakeLists.txt b/android/lib/CMakeLists.txt old mode 100644 new mode 100755 diff --git a/android/lib/build.gradle b/android/lib/build.gradle old mode 100644 new mode 100755 diff --git a/android/lib/src/main/AndroidManifest.xml b/android/lib/src/main/AndroidManifest.xml old mode 100644 new mode 100755 diff --git a/android/settings.gradle b/android/settings.gradle old mode 100644 new mode 100755 diff --git a/cmake/normConfig.cmake.in b/cmake/normConfig.cmake.in old mode 100644 new mode 100755 diff --git a/doc/NormDeveloperGuide.html b/doc/NormDeveloperGuide.html old mode 100644 new mode 100755 diff --git a/doc/NormDeveloperGuide.pdf b/doc/NormDeveloperGuide.pdf old mode 100644 new mode 100755 diff --git a/doc/NormDeveloperGuide.xml b/doc/NormDeveloperGuide.xml old mode 100644 new mode 100755 diff --git a/doc/NormLogo.gif b/doc/NormLogo.gif old mode 100644 new mode 100755 diff --git a/doc/NormUserGuide.pdf b/doc/NormUserGuide.pdf old mode 100644 new mode 100755 diff --git a/doc/NormUserGuide.xml b/doc/NormUserGuide.xml old mode 100644 new mode 100755 diff --git a/doc/npcUsage.pdf b/doc/npcUsage.pdf old mode 100644 new mode 100755 diff --git a/examples/README.TXT b/examples/README.TXT old mode 100644 new mode 100755 diff --git a/examples/java/NormFileRecv.java b/examples/java/NormFileRecv.java old mode 100644 new mode 100755 diff --git a/examples/java/NormFileSend.java b/examples/java/NormFileSend.java old mode 100644 new mode 100755 diff --git a/examples/java/NormFileSendRecv.java b/examples/java/NormFileSendRecv.java old mode 100644 new mode 100755 diff --git a/examples/java/NormMsgr.java b/examples/java/NormMsgr.java old mode 100644 new mode 100755 diff --git a/examples/java/NormStreamRecv.java b/examples/java/NormStreamRecv.java old mode 100644 new mode 100755 diff --git a/examples/java/NormStreamSend.java b/examples/java/NormStreamSend.java old mode 100644 new mode 100755 diff --git a/examples/java/README.TXT b/examples/java/README.TXT old mode 100644 new mode 100755 diff --git a/examples/normCast.cpp b/examples/normCast.cpp old mode 100644 new mode 100755 diff --git a/examples/normCastApp.cpp b/examples/normCastApp.cpp old mode 100644 new mode 100755 diff --git a/examples/normClient.cpp b/examples/normClient.cpp old mode 100644 new mode 100755 diff --git a/examples/normDataExample.cpp b/examples/normDataExample.cpp old mode 100644 new mode 100755 diff --git a/examples/normDataRecv.cpp b/examples/normDataRecv.cpp old mode 100644 new mode 100755 diff --git a/examples/normDataSend.cpp b/examples/normDataSend.cpp old mode 100644 new mode 100755 diff --git a/examples/normFileRecv.cpp b/examples/normFileRecv.cpp old mode 100644 new mode 100755 diff --git a/examples/normFileSend.cpp b/examples/normFileSend.cpp old mode 100644 new mode 100755 diff --git a/examples/normMsgr.cpp b/examples/normMsgr.cpp old mode 100644 new mode 100755 diff --git a/examples/normServer.cpp b/examples/normServer.cpp old mode 100644 new mode 100755 diff --git a/examples/normSocket.cpp b/examples/normSocket.cpp old mode 100644 new mode 100755 diff --git a/examples/normSocket.h b/examples/normSocket.h old mode 100644 new mode 100755 diff --git a/examples/normSocketNotes.txt b/examples/normSocketNotes.txt old mode 100644 new mode 100755 diff --git a/examples/normStreamRecv.cpp b/examples/normStreamRecv.cpp old mode 100644 new mode 100755 diff --git a/examples/normStreamSend.cpp b/examples/normStreamSend.cpp old mode 100644 new mode 100755 diff --git a/examples/normStreamer.cpp b/examples/normStreamer.cpp old mode 100644 new mode 100755 diff --git a/examples/python/normMsgr.py b/examples/python/normMsgr.py old mode 100644 new mode 100755 diff --git a/examples/win32InputHandler.cpp b/examples/win32InputHandler.cpp old mode 100644 new mode 100755 diff --git a/examples/wintest.cpp b/examples/wintest.cpp old mode 100644 new mode 100755 diff --git a/include/galois.h b/include/galois.h old mode 100644 new mode 100755 diff --git a/include/normApi.h b/include/normApi.h old mode 100644 new mode 100755 index 8894ba4..8a19d5c --- a/include/normApi.h +++ b/include/normApi.h @@ -77,7 +77,7 @@ const NormSessionHandle NORM_SESSION_INVALID; typedef UINT16 NormSessionId; typedef const void* NormNodeHandle; -extern NORM_API_LINKAGE +extern NORM_API_LINKAGE const NormNodeHandle NORM_NODE_INVALID; typedef UINT32 NormNodeId; extern NORM_API_LINKAGE @@ -101,21 +101,21 @@ typedef enum NormObjectType NORM_OBJECT_NONE, NORM_OBJECT_DATA, NORM_OBJECT_FILE, - NORM_OBJECT_STREAM + NORM_OBJECT_STREAM } NORM_API_LINKAGE NormObjectType; - + typedef enum NormFlushMode { NORM_FLUSH_NONE, NORM_FLUSH_PASSIVE, - NORM_FLUSH_ACTIVE + NORM_FLUSH_ACTIVE } NORM_API_LINKAGE NormFlushMode; - + typedef enum NormNackingMode { NORM_NACK_NONE, NORM_NACK_INFO_ONLY, - NORM_NACK_NORMAL + NORM_NACK_NORMAL } NORM_API_LINKAGE NormNackingMode; typedef enum NormAckingStatus @@ -123,38 +123,38 @@ typedef enum NormAckingStatus NORM_ACK_INVALID, NORM_ACK_FAILURE, NORM_ACK_PENDING, - NORM_ACK_SUCCESS + NORM_ACK_SUCCESS } NORM_API_LINKAGE NormAckingStatus; - + typedef enum NormTrackingStatus { NORM_TRACK_NONE, NORM_TRACK_RECEIVERS, NORM_TRACK_SENDERS, - NORM_TRACK_ALL + NORM_TRACK_ALL } NORM_API_LINKAGE NormTrackingStatus; - + typedef enum NormProbingMode { NORM_PROBE_NONE, NORM_PROBE_PASSIVE, - NORM_PROBE_ACTIVE + NORM_PROBE_ACTIVE } NORM_API_LINKAGE NormProbingMode; - + typedef enum NormSyncPolicy { NORM_SYNC_CURRENT, // attempt to receiver current/new objects only, join mid-stream NORM_SYNC_STREAM, // sync to current stream, but to beginning of stream NORM_SYNC_ALL // attempt to receive old and new objects } NORM_API_LINKAGE NormSyncPolicy; - + typedef enum NormRepairBoundary { NORM_BOUNDARY_BLOCK, NORM_BOUNDARY_OBJECT } NORM_API_LINKAGE NormRepairBoundary; - + typedef enum NormEventType { NORM_EVENT_INVALID = 0, @@ -183,7 +183,7 @@ typedef enum NormEventType NORM_GRTT_UPDATED, NORM_CC_ACTIVE, NORM_CC_INACTIVE, - NORM_ACKING_NODE_NEW, // whe NormSetAutoAcking + NORM_ACKING_NODE_NEW, // whe NormSetAutoAcking NORM_SEND_ERROR, // ICMP error (e.g. destination unreachable) NORM_USER_TIMEOUT // issues when timeout set by NormSetUserTimer() expires } NORM_API_LINKAGE NormEventType; @@ -195,7 +195,7 @@ typedef struct NormNodeHandle sender; NormObjectHandle object; } NormEvent; - + // For setting custom NORM_OBJECT_DATA alloc/free functions typedef char* (*NormAllocFunctionHandle)(size_t); @@ -204,42 +204,39 @@ typedef void (*NormFreeFunctionHandle)(char*); /** NORM API General Initialization and Operation Functions */ -NORM_API_LINKAGE -int NormGetVersion(int* major DEFAULT((int*)0), - int* minor DEFAULT((int*)0), +NORM_API_LINKAGE +int NormGetVersion(int* major DEFAULT((int*)0), + int* minor DEFAULT((int*)0), int* patch DEFAULT((int*)0)); - - - -NORM_API_LINKAGE +NORM_API_LINKAGE NormInstanceHandle NormCreateInstance(bool priorityBoost DEFAULT(false)); -NORM_API_LINKAGE +NORM_API_LINKAGE void NormDestroyInstance(NormInstanceHandle instanceHandle); -NORM_API_LINKAGE +NORM_API_LINKAGE void NormStopInstance(NormInstanceHandle instanceHandle); -NORM_API_LINKAGE +NORM_API_LINKAGE bool NormRestartInstance(NormInstanceHandle instanceHandle); -NORM_API_LINKAGE +NORM_API_LINKAGE bool NormSuspendInstance(NormInstanceHandle instanceHandle); -NORM_API_LINKAGE +NORM_API_LINKAGE void NormResumeInstance(NormInstanceHandle instanceHandle); // This MUST be set to enable NORM_OBJECT_FILE reception! // (otherwise received files are ignored) NORM_API_LINKAGE -bool NormSetCacheDirectory(NormInstanceHandle instanceHandle, +bool NormSetCacheDirectory(NormInstanceHandle instanceHandle, const char* cachePath); -// This call blocks until the next NormEvent is ready unless asynchronous -// notification is used (see below) -NORM_API_LINKAGE +// This call blocks until the next NormEvent is ready unless +// "waitForEvent" is set to "false" +NORM_API_LINKAGE bool NormGetNextEvent(NormInstanceHandle instanceHandle, NormEvent* theEvent, bool waitForEvent DEFAULT(true)); // The "NormGetDescriptor()" function returns a HANDLE (WIN32) or @@ -257,56 +254,56 @@ typedef int NormDescriptor; #endif // if/else WIN32/UNIX extern NORM_API_LINKAGE const NormDescriptor NORM_DESCRIPTOR_INVALID; -NORM_API_LINKAGE +NORM_API_LINKAGE NormDescriptor NormGetDescriptor(NormInstanceHandle instanceHandle); -NORM_API_LINKAGE -void NormSetAllocationFunctions(NormInstanceHandle instance, - NormAllocFunctionHandle allocFunc, +NORM_API_LINKAGE +void NormSetAllocationFunctions(NormInstanceHandle instance, + NormAllocFunctionHandle allocFunc, NormFreeFunctionHandle freeFunc); // NORM Session Creation and Control Functions -NORM_API_LINKAGE +NORM_API_LINKAGE NormSessionHandle NormCreateSession(NormInstanceHandle instanceHandle, const char* sessionAddress, UINT16 sessionPort, NormNodeId localNodeId); -NORM_API_LINKAGE +NORM_API_LINKAGE void NormDestroySession(NormSessionHandle sessionHandle); -NORM_API_LINKAGE +NORM_API_LINKAGE NormInstanceHandle NormGetInstance(NormSessionHandle sessionHandle); NORM_API_LINKAGE bool NormIsUnicastAddress(const char* address); -NORM_API_LINKAGE +NORM_API_LINKAGE void NormSetUserData(NormSessionHandle sessionHandle, const void* userData); -NORM_API_LINKAGE +NORM_API_LINKAGE const void* NormGetUserData(NormSessionHandle sessionHandle); -NORM_API_LINKAGE +NORM_API_LINKAGE void NormSetUserTimer(NormSessionHandle sessionHandle, double seconds); -NORM_API_LINKAGE +NORM_API_LINKAGE void NormCancelUserTimer(NormSessionHandle sessionHandle); -NORM_API_LINKAGE +NORM_API_LINKAGE NormNodeId NormGetLocalNodeId(NormSessionHandle sessionHandle); NORM_API_LINKAGE bool NormGetAddress(NormSessionHandle sessionHandle, - char* addrBuffer, + char* addrBuffer, unsigned int* bufferLen, UINT16* port DEFAULT((UINT16*)0)); NORM_API_LINKAGE UINT16 NormGetRxPort(NormSessionHandle sessionHandle); -NORM_API_LINKAGE +NORM_API_LINKAGE bool NormSetTxPort(NormSessionHandle sessionHandle, UINT16 txPortNumber, bool enableReuse DEFAULT(false), @@ -326,8 +323,8 @@ void NormLimitObjectInfo(NormSessionHandle sessionHandle, bool state); // if tr NORM_API_LINKAGE bool NormPresetObjectInfo(NormSessionHandle sessionHandle, // FEC OTI is preset and not sent unsigned long objectSize, // (most useful for NORM_OBJECT_STREAM) - UINT16 segmentSize, - UINT16 numData, + UINT16 segmentSize, + UINT16 numData, UINT16 numParity); NORM_API_LINKAGE @@ -348,7 +345,7 @@ NORM_API_LINKAGE bool NormTransferSender(NormSessionHandle sessionHandle, NormNodeHandle sender); -NORM_API_LINKAGE +NORM_API_LINKAGE void NormSetRxPortReuse(NormSessionHandle sessionHandle, bool enableReuse, const char* rxBindAddress DEFAULT((const char*)0), // if non-NULL, bind() to / @@ -368,27 +365,27 @@ void NormSetEcnSupport(NormSessionHandle sessionHandle, bool ignoreLoss DEFAULT(false), // With "ecnEnable", use ECN-only, ignoring packet loss bool tolerateLoss DEFAULT(false)); // loss-tolerant congestion control, ecnEnable or not, ignoreLoss = false -NORM_API_LINKAGE +NORM_API_LINKAGE bool NormSetMulticastInterface(NormSessionHandle sessionHandle, const char* interfaceName); -NORM_API_LINKAGE +NORM_API_LINKAGE bool NormSetSSM(NormSessionHandle sessionHandle, const char* sourceAddress); -NORM_API_LINKAGE +NORM_API_LINKAGE bool NormSetTTL(NormSessionHandle sessionHandle, unsigned char ttl); -NORM_API_LINKAGE +NORM_API_LINKAGE bool NormSetTOS(NormSessionHandle sessionHandle, unsigned char tos); -NORM_API_LINKAGE +NORM_API_LINKAGE bool NormSetLoopback(NormSessionHandle sessionHandle, bool loopback); -NORM_API_LINKAGE +NORM_API_LINKAGE bool NormSetMulticastLoopback(NormSessionHandle sessionHandle, bool loopback); @@ -398,13 +395,13 @@ bool NormSetFragmentation(NormSessionHandle sessionHandle, bool fragmentation); // Special functions for debug support -NORM_API_LINKAGE +NORM_API_LINKAGE void NormSetMessageTrace(NormSessionHandle sessionHandle, bool state); -NORM_API_LINKAGE +NORM_API_LINKAGE void NormSetTxLoss(NormSessionHandle sessionHandle, double percent); -NORM_API_LINKAGE +NORM_API_LINKAGE void NormSetRxLoss(NormSessionHandle sessionHandle, double percent); NORM_API_LINKAGE @@ -440,7 +437,7 @@ NormSessionId NormGetRandomSessionId(); // This function has been updated so that 16-bit Reed-Solomon // codecs can be accessed. This may cause an issue for linking // to older versions of the NORM library -NORM_API_LINKAGE +NORM_API_LINKAGE bool NormStartSender(NormSessionHandle sessionHandle, NormSessionId instanceId, UINT32 bufferSpace, @@ -449,59 +446,59 @@ bool NormStartSender(NormSessionHandle sessionHandle, UINT16 numParity, UINT8 fecId DEFAULT(0)); -NORM_API_LINKAGE +NORM_API_LINKAGE void NormStopSender(NormSessionHandle sessionHandle); -NORM_API_LINKAGE +NORM_API_LINKAGE void NormSetTxRate(NormSessionHandle sessionHandle, double bitsPerSecond); -NORM_API_LINKAGE +NORM_API_LINKAGE double NormGetTxRate(NormSessionHandle sessionHandle); -NORM_API_LINKAGE +NORM_API_LINKAGE bool NormSetTxSocketBuffer(NormSessionHandle sessionHandle, unsigned int bufferSize); -NORM_API_LINKAGE +NORM_API_LINKAGE void NormSetFlowControl(NormSessionHandle sessionHandle, double flowControlFactor); -NORM_API_LINKAGE +NORM_API_LINKAGE void NormSetCongestionControl(NormSessionHandle sessionHandle, bool enable, bool adjustRate DEFAULT(true)); -NORM_API_LINKAGE +NORM_API_LINKAGE void NormSetTxRateBounds(NormSessionHandle sessionHandle, double rateMin, double rateMax); -NORM_API_LINKAGE +NORM_API_LINKAGE void NormSetTxCacheBounds(NormSessionHandle sessionHandle, NormSize sizeMax, UINT32 countMin, UINT32 countMax); -NORM_API_LINKAGE +NORM_API_LINKAGE void NormSetAutoParity(NormSessionHandle sessionHandle, unsigned char autoParity); -NORM_API_LINKAGE +NORM_API_LINKAGE void NormSetGrttEstimate(NormSessionHandle sessionHandle, double grttEstimate); NORM_API_LINKAGE double NormGetGrttEstimate(NormSessionHandle sessionHandle); -NORM_API_LINKAGE +NORM_API_LINKAGE void NormSetGrttMax(NormSessionHandle sessionHandle, double grttMax); -NORM_API_LINKAGE +NORM_API_LINKAGE void NormSetGrttProbingMode(NormSessionHandle sessionHandle, NormProbingMode probingMode); -NORM_API_LINKAGE +NORM_API_LINKAGE void NormSetGrttProbingInterval(NormSessionHandle sessionHandle, double intervalMin, double intervalMax); @@ -510,86 +507,86 @@ NORM_API_LINKAGE void NormSetGrttProbingTOS(NormSessionHandle sessionHandle, UINT8 probeTOS); -NORM_API_LINKAGE +NORM_API_LINKAGE void NormSetBackoffFactor(NormSessionHandle sessionHandle, double backoffFactor); -NORM_API_LINKAGE +NORM_API_LINKAGE void NormSetGroupSize(NormSessionHandle sessionHandle, unsigned int groupSize); -NORM_API_LINKAGE +NORM_API_LINKAGE void NormSetTxRobustFactor(NormSessionHandle sessionHandle, int robustFactor); -NORM_API_LINKAGE +NORM_API_LINKAGE NormObjectHandle NormFileEnqueue(NormSessionHandle sessionHandle, const char* fileName, const char* infoPtr DEFAULT((const char*)0), unsigned int infoLen DEFAULT(0)); -NORM_API_LINKAGE +NORM_API_LINKAGE NormObjectHandle NormDataEnqueue(NormSessionHandle sessionHandle, const char* dataPtr, UINT32 dataLen, const char* infoPtr DEFAULT((const char*)0), unsigned int infoLen DEFAULT(0)); -NORM_API_LINKAGE +NORM_API_LINKAGE bool NormRequeueObject(NormSessionHandle sessionHandle, NormObjectHandle objectHandle); -NORM_API_LINKAGE +NORM_API_LINKAGE NormObjectHandle NormStreamOpen(NormSessionHandle sessionHandle, UINT32 bufferSize, const char* infoPtr DEFAULT((const char*)0), unsigned int infoLen DEFAULT(0)); -NORM_API_LINKAGE +NORM_API_LINKAGE void NormObjectSetUserData(NormObjectHandle objectHandle, const void* userData); -NORM_API_LINKAGE +NORM_API_LINKAGE const void* NormObjectGetUserData(NormObjectHandle objectHandle); // TBD - we should add a "bool watermark" option to "graceful" stream closure??? -NORM_API_LINKAGE +NORM_API_LINKAGE void NormStreamClose(NormObjectHandle streamHandle, bool graceful DEFAULT(false)); NORM_API_LINKAGE unsigned int NormGetStreamBufferSegmentCount(unsigned int bufferBytes, UINT16 segmentSize, UINT16 blockSize); -NORM_API_LINKAGE +NORM_API_LINKAGE unsigned int NormStreamWrite(NormObjectHandle streamHandle, const char* buffer, unsigned int numBytes); -NORM_API_LINKAGE +NORM_API_LINKAGE void NormStreamFlush(NormObjectHandle streamHandle, bool eom DEFAULT(false), NormFlushMode flushMode DEFAULT(NORM_FLUSH_PASSIVE)); -NORM_API_LINKAGE +NORM_API_LINKAGE void NormStreamSetAutoFlush(NormObjectHandle streamHandle, NormFlushMode flushMode); -NORM_API_LINKAGE +NORM_API_LINKAGE void NormStreamSetPushEnable(NormObjectHandle streamHandle, bool pushEnable); -NORM_API_LINKAGE +NORM_API_LINKAGE bool NormStreamHasVacancy(NormObjectHandle streamHandle); NORM_API_LINKAGE unsigned int NormStreamGetVacancy(NormObjectHandle streamHandle, unsigned int bytesWanted = 0); -NORM_API_LINKAGE +NORM_API_LINKAGE void NormStreamMarkEom(NormObjectHandle streamHandle); -NORM_API_LINKAGE +NORM_API_LINKAGE bool NormSetWatermark(NormSessionHandle sessionHandle, NormObjectHandle objectHandle, bool overrideFlush DEFAULT(false)); -NORM_API_LINKAGE +NORM_API_LINKAGE bool NormSetWatermarkEx(NormSessionHandle sessionHandle, NormObjectHandle objectHandle, const char* buffer, @@ -597,17 +594,17 @@ bool NormSetWatermarkEx(NormSessionHandle sessionHandle, bool overrideFlush DEFAULT(false)); -NORM_API_LINKAGE +NORM_API_LINKAGE bool NormResetWatermark(NormSessionHandle sessionHandle); -NORM_API_LINKAGE +NORM_API_LINKAGE void NormCancelWatermark(NormSessionHandle sessionHandle); -NORM_API_LINKAGE +NORM_API_LINKAGE bool NormAddAckingNode(NormSessionHandle sessionHandle, NormNodeId nodeId); -NORM_API_LINKAGE +NORM_API_LINKAGE void NormRemoveAckingNode(NormSessionHandle sessionHandle, NormNodeId nodeId); @@ -619,11 +616,11 @@ NORM_API_LINKAGE void NormSetAutoAckingNodes(NormSessionHandle sessionHandle, NormTrackingStatus trackingStatus); -NORM_API_LINKAGE +NORM_API_LINKAGE NormAckingStatus NormGetAckingStatus(NormSessionHandle sessionHandle, NormNodeId nodeId DEFAULT(NORM_NODE_ANY)); -NORM_API_LINKAGE +NORM_API_LINKAGE bool NormGetNextAckingNode(NormSessionHandle sessionHandle, NormNodeId* nodeId, NormAckingStatus* ackingStatus DEFAULT(0)); @@ -634,77 +631,77 @@ bool NormGetAckEx(NormSessionHandle sessionHandle, char* buffer, unsigned int* buflen); -NORM_API_LINKAGE +NORM_API_LINKAGE bool NormSendCommand(NormSessionHandle sessionHandle, const char* cmdBuffer, unsigned int cmdLength, bool robust DEFAULT(false)); -NORM_API_LINKAGE +NORM_API_LINKAGE void NormCancelCommand(NormSessionHandle sessionHandle); -NORM_API_LINKAGE +NORM_API_LINKAGE void NormSetSynStatus(NormSessionHandle sessionHandle, bool state); /* NORM Receiver Functions */ -NORM_API_LINKAGE +NORM_API_LINKAGE bool NormStartReceiver(NormSessionHandle sessionHandle, UINT32 bufferSpace); -NORM_API_LINKAGE +NORM_API_LINKAGE void NormStopReceiver(NormSessionHandle sessionHandle); -NORM_API_LINKAGE +NORM_API_LINKAGE void NormSetRxCacheLimit(NormSessionHandle sessionHandle, unsigned short countMax); -NORM_API_LINKAGE +NORM_API_LINKAGE bool NormSetRxSocketBuffer(NormSessionHandle sessionHandle, unsigned int bufferSize); -NORM_API_LINKAGE +NORM_API_LINKAGE void NormSetSilentReceiver(NormSessionHandle sessionHandle, bool silent, int maxDelay DEFAULT(-1)); -NORM_API_LINKAGE +NORM_API_LINKAGE void NormSetDefaultUnicastNack(NormSessionHandle sessionHandle, bool unicastNacks); -NORM_API_LINKAGE +NORM_API_LINKAGE void NormNodeSetUnicastNack(NormNodeHandle remoteSender, bool unicastNacks); -NORM_API_LINKAGE +NORM_API_LINKAGE void NormSetDefaultSyncPolicy(NormSessionHandle sessionHandle, NormSyncPolicy syncPolicy); -NORM_API_LINKAGE +NORM_API_LINKAGE void NormSetDefaultNackingMode(NormSessionHandle sessionHandle, NormNackingMode nackingMode); -NORM_API_LINKAGE +NORM_API_LINKAGE void NormNodeSetNackingMode(NormNodeHandle remoteSender, NormNackingMode nackingMode); -NORM_API_LINKAGE +NORM_API_LINKAGE void NormObjectSetNackingMode(NormObjectHandle objectHandle, NormNackingMode nackingMode); -NORM_API_LINKAGE +NORM_API_LINKAGE void NormSetDefaultRepairBoundary(NormSessionHandle sessionHandle, NormRepairBoundary repairBoundary); -NORM_API_LINKAGE +NORM_API_LINKAGE void NormNodeSetRepairBoundary(NormNodeHandle remoteSender, NormRepairBoundary repairBoundary); -NORM_API_LINKAGE +NORM_API_LINKAGE void NormSetDefaultRxRobustFactor(NormSessionHandle sessionHandle, int robustFactor); -NORM_API_LINKAGE +NORM_API_LINKAGE void NormNodeSetRxRobustFactor(NormNodeHandle remoteSender, int robustFactor); @@ -716,90 +713,90 @@ bool NormPreallocateRemoteSender(NormSessionHandle sessionHandle, UINT16 numParity, unsigned int streamBufferSize DEFAULT(0)); -NORM_API_LINKAGE +NORM_API_LINKAGE bool NormStreamRead(NormObjectHandle streamHandle, char* buffer, unsigned int* numBytes); -NORM_API_LINKAGE +NORM_API_LINKAGE bool NormStreamSeekMsgStart(NormObjectHandle streamHandle); -NORM_API_LINKAGE +NORM_API_LINKAGE UINT32 NormStreamGetReadOffset(NormObjectHandle streamHandle); -NORM_API_LINKAGE +NORM_API_LINKAGE UINT32 NormStreamGetBufferUsage(NormObjectHandle streamHandle); /** NORM Object Functions */ -NORM_API_LINKAGE +NORM_API_LINKAGE NormObjectType NormObjectGetType(NormObjectHandle objectHandle); -NORM_API_LINKAGE +NORM_API_LINKAGE bool NormObjectHasInfo(NormObjectHandle objectHandle); -NORM_API_LINKAGE +NORM_API_LINKAGE UINT16 NormObjectGetInfoLength(NormObjectHandle objectHandle); -NORM_API_LINKAGE +NORM_API_LINKAGE UINT16 NormObjectGetInfo(NormObjectHandle objectHandle, char* buffer, UINT16 bufferLen); -NORM_API_LINKAGE +NORM_API_LINKAGE NormSize NormObjectGetSize(NormObjectHandle objectHandle); -NORM_API_LINKAGE +NORM_API_LINKAGE NormSize NormObjectGetBytesPending(NormObjectHandle objectHandle); -NORM_API_LINKAGE +NORM_API_LINKAGE void NormObjectCancel(NormObjectHandle objectHandle); -NORM_API_LINKAGE +NORM_API_LINKAGE void NormObjectRetain(NormObjectHandle objectHandle); -NORM_API_LINKAGE +NORM_API_LINKAGE void NormObjectRelease(NormObjectHandle objectHandle); -NORM_API_LINKAGE +NORM_API_LINKAGE bool NormFileGetName(NormObjectHandle fileHandle, char* nameBuffer, unsigned int bufferLen); -NORM_API_LINKAGE +NORM_API_LINKAGE bool NormFileRename(NormObjectHandle fileHandle, const char* fileName); -NORM_API_LINKAGE +NORM_API_LINKAGE const char* NormDataAccessData(NormObjectHandle objectHandle); -NORM_API_LINKAGE +NORM_API_LINKAGE char* NormDataDetachData(NormObjectHandle objectHandle); -NORM_API_LINKAGE -char* NormAlloc(size_t numBytes); +NORM_API_LINKAGE +char* NormAlloc(size_t numBytes); -NORM_API_LINKAGE +NORM_API_LINKAGE void NormFree(char* dataPtr); -NORM_API_LINKAGE +NORM_API_LINKAGE NormNodeHandle NormObjectGetSender(NormObjectHandle objectHandle); /** NORM Node Functions */ -NORM_API_LINKAGE +NORM_API_LINKAGE NormNodeId NormNodeGetId(NormNodeHandle nodeHandle); -NORM_API_LINKAGE +NORM_API_LINKAGE bool NormNodeGetAddress(NormNodeHandle nodeHandle, - char* addrBuffer, + char* addrBuffer, unsigned int* bufferLen, UINT16* port DEFAULT((UINT16*)0)); -NORM_API_LINKAGE +NORM_API_LINKAGE void NormNodeSetUserData(NormNodeHandle nodeHandle, const void* userData); -NORM_API_LINKAGE +NORM_API_LINKAGE const void* NormNodeGetUserData(NormNodeHandle nodeHandle); NORM_API_LINKAGE @@ -827,10 +824,10 @@ void NormNodeFreeBuffers(NormNodeHandle remoteSender); NORM_API_LINKAGE void NormNodeDelete(NormNodeHandle remoteSender); -NORM_API_LINKAGE +NORM_API_LINKAGE void NormNodeRetain(NormNodeHandle nodeHandle); -NORM_API_LINKAGE +NORM_API_LINKAGE void NormNodeRelease(NormNodeHandle nodeHandle); /** Some experimental functions */ @@ -838,7 +835,7 @@ void NormNodeRelease(NormNodeHandle nodeHandle); NORM_API_LINKAGE void NormReleasePreviousEvent(NormInstanceHandle instanceHandle); -NORM_API_LINKAGE +NORM_API_LINKAGE UINT32 NormCountCompletedObjects(NormSessionHandle sessionHandle); @@ -852,7 +849,7 @@ NORM_API_LINKAGE bool NormNodeAllowSender(NormNodeId senderId); NORM_API_LINKAGE -bool NormNodeDenySender(NormNodeId senderId); +bool NormNodeDenySender(NormNodeId senderId); #ifdef __cplusplus } // end extern "C" diff --git a/include/normEncoder.h b/include/normEncoder.h old mode 100644 new mode 100755 diff --git a/include/normEncoderMDP.h b/include/normEncoderMDP.h old mode 100644 new mode 100755 diff --git a/include/normEncoderRS16.h b/include/normEncoderRS16.h old mode 100644 new mode 100755 diff --git a/include/normEncoderRS8.h b/include/normEncoderRS8.h old mode 100644 new mode 100755 diff --git a/include/normFile.h b/include/normFile.h old mode 100644 new mode 100755 diff --git a/include/normMessage.h b/include/normMessage.h old mode 100644 new mode 100755 diff --git a/include/normNode.h b/include/normNode.h old mode 100644 new mode 100755 diff --git a/include/normObject.h b/include/normObject.h old mode 100644 new mode 100755 index 2446e79..affedbf --- a/include/normObject.h +++ b/include/normObject.h @@ -30,6 +30,7 @@ class NormObject enum CheckLevel { + BLIND_CHECK, TO_OBJECT, THRU_INFO, TO_BLOCK, diff --git a/include/normPostProcess.h b/include/normPostProcess.h old mode 100644 new mode 100755 diff --git a/include/normSegment.h b/include/normSegment.h old mode 100644 new mode 100755 diff --git a/include/normSession.h b/include/normSession.h old mode 100644 new mode 100755 diff --git a/include/normSimAgent.h b/include/normSimAgent.h old mode 100644 new mode 100755 diff --git a/include/normVersion.h b/include/normVersion.h old mode 100644 new mode 100755 diff --git a/makefiles/Makefile.arm-linux b/makefiles/Makefile.arm-linux old mode 100644 new mode 100755 diff --git a/makefiles/Makefile.common b/makefiles/Makefile.common old mode 100644 new mode 100755 diff --git a/makefiles/Makefile.freebsd b/makefiles/Makefile.freebsd old mode 100644 new mode 100755 diff --git a/makefiles/Makefile.hpux b/makefiles/Makefile.hpux old mode 100644 new mode 100755 diff --git a/makefiles/Makefile.iphone b/makefiles/Makefile.iphone old mode 100644 new mode 100755 diff --git a/makefiles/Makefile.linux b/makefiles/Makefile.linux old mode 100644 new mode 100755 diff --git a/makefiles/Makefile.macosx b/makefiles/Makefile.macosx old mode 100644 new mode 100755 diff --git a/makefiles/Makefile.mklinux b/makefiles/Makefile.mklinux old mode 100644 new mode 100755 diff --git a/makefiles/Makefile.netbsd b/makefiles/Makefile.netbsd old mode 100644 new mode 100755 diff --git a/makefiles/Makefile.sgi b/makefiles/Makefile.sgi old mode 100644 new mode 100755 diff --git a/makefiles/Makefile.solaris b/makefiles/Makefile.solaris old mode 100644 new mode 100755 diff --git a/makefiles/Makefile.solx86 b/makefiles/Makefile.solx86 old mode 100644 new mode 100755 diff --git a/makefiles/Makefile.x86_64-qnx b/makefiles/Makefile.x86_64-qnx old mode 100644 new mode 100755 diff --git a/makefiles/android-ndk/AndroidManifest.xml b/makefiles/android-ndk/AndroidManifest.xml old mode 100644 new mode 100755 diff --git a/makefiles/android-ndk/README b/makefiles/android-ndk/README old mode 100644 new mode 100755 diff --git a/makefiles/android-ndk/ant.properties b/makefiles/android-ndk/ant.properties old mode 100644 new mode 100755 diff --git a/makefiles/android-ndk/build.xml b/makefiles/android-ndk/build.xml old mode 100644 new mode 100755 diff --git a/makefiles/android-ndk/jni/Android.mk b/makefiles/android-ndk/jni/Android.mk old mode 100644 new mode 100755 diff --git a/makefiles/android-ndk/jni/Application.mk b/makefiles/android-ndk/jni/Application.mk old mode 100644 new mode 100755 diff --git a/makefiles/android-ndk/proguard-project.txt b/makefiles/android-ndk/proguard-project.txt old mode 100644 new mode 100755 diff --git a/makefiles/android-ndk/project.properties b/makefiles/android-ndk/project.properties old mode 100644 new mode 100755 diff --git a/makefiles/java/Makefile.common b/makefiles/java/Makefile.common old mode 100644 new mode 100755 diff --git a/makefiles/java/Makefile.linux b/makefiles/java/Makefile.linux old mode 100644 new mode 100755 diff --git a/makefiles/java/Makefile.macosx b/makefiles/java/Makefile.macosx old mode 100644 new mode 100755 diff --git a/makefiles/java/build.xml b/makefiles/java/build.xml old mode 100644 new mode 100755 diff --git a/makefiles/win32/Norm-2008.sln b/makefiles/win32/Norm-2008.sln old mode 100644 new mode 100755 diff --git a/makefiles/win32/Norm.sln b/makefiles/win32/Norm.sln old mode 100644 new mode 100755 diff --git a/makefiles/win32/Norm.suo b/makefiles/win32/Norm.suo old mode 100644 new mode 100755 diff --git a/makefiles/win32/NormDll.vcproj b/makefiles/win32/NormDll.vcproj old mode 100644 new mode 100755 diff --git a/makefiles/win32/NormLib.vcproj b/makefiles/win32/NormLib.vcproj old mode 100644 new mode 100755 diff --git a/makefiles/win32/NormLib.vcproj.vs2008 b/makefiles/win32/NormLib.vcproj.vs2008 old mode 100644 new mode 100755 diff --git a/makefiles/win32/norm/norm.vcproj b/makefiles/win32/norm/norm.vcproj old mode 100644 new mode 100755 diff --git a/makefiles/win32/normCast.vcxproj b/makefiles/win32/normCast.vcxproj old mode 100644 new mode 100755 diff --git a/makefiles/win32/normTest.vcproj b/makefiles/win32/normTest.vcproj old mode 100644 new mode 100755 diff --git a/makefiles/win32/npc.vcproj b/makefiles/win32/npc.vcproj old mode 100644 new mode 100755 diff --git a/makefiles/wince/Norm.vco b/makefiles/wince/Norm.vco old mode 100644 new mode 100755 diff --git a/makefiles/wince/Norm.vcp b/makefiles/wince/Norm.vcp old mode 100644 new mode 100755 diff --git a/makefiles/wince/Norm.vcw b/makefiles/wince/Norm.vcw old mode 100644 new mode 100755 diff --git a/makefiles/wince/normApp/normApp.vcp b/makefiles/wince/normApp/normApp.vcp old mode 100644 new mode 100755 diff --git a/norm.pc.in b/norm.pc.in old mode 100644 new mode 100755 diff --git a/norp/TODO.txt b/norp/TODO.txt old mode 100644 new mode 100755 diff --git a/norp/VERSION.TXT b/norp/VERSION.TXT old mode 100644 new mode 100755 diff --git a/norp/doc/norpUserGuide.html b/norp/doc/norpUserGuide.html old mode 100644 new mode 100755 diff --git a/norp/doc/norpUserGuide.pdf b/norp/doc/norpUserGuide.pdf old mode 100644 new mode 100755 diff --git a/norp/doc/norpUserGuide.xml b/norp/doc/norpUserGuide.xml old mode 100644 new mode 100755 diff --git a/norp/doc/resources/ProteanLogo.png b/norp/doc/resources/ProteanLogo.png old mode 100644 new mode 100755 diff --git a/norp/doc/resources/norpConcept.png b/norp/doc/resources/norpConcept.png old mode 100644 new mode 100755 diff --git a/norp/include/norp.h b/norp/include/norp.h old mode 100644 new mode 100755 diff --git a/norp/include/norpVersion.h b/norp/include/norpVersion.h old mode 100644 new mode 100755 diff --git a/norp/include/protoPktSOCKS.h b/norp/include/protoPktSOCKS.h old mode 100644 new mode 100755 diff --git a/norp/makefiles/Makefile.common b/norp/makefiles/Makefile.common old mode 100644 new mode 100755 diff --git a/norp/makefiles/Makefile.linux b/norp/makefiles/Makefile.linux old mode 100644 new mode 100755 diff --git a/norp/makefiles/Makefile.macosx b/norp/makefiles/Makefile.macosx old mode 100644 new mode 100755 diff --git a/norp/makefiles/win32/norp.sln b/norp/makefiles/win32/norp.sln old mode 100644 new mode 100755 diff --git a/norp/makefiles/win32/norp.vcxproj b/norp/makefiles/win32/norp.vcxproj old mode 100644 new mode 100755 diff --git a/norp/src/common/norp.cpp b/norp/src/common/norp.cpp old mode 100644 new mode 100755 diff --git a/norp/src/common/norpApp.cpp b/norp/src/common/norpApp.cpp old mode 100644 new mode 100755 diff --git a/norp/src/common/protoPktSOCKS.cpp b/norp/src/common/protoPktSOCKS.cpp old mode 100644 new mode 100755 diff --git a/setup.py b/setup.py old mode 100644 new mode 100755 diff --git a/src/common/fecTest.cpp b/src/common/fecTest.cpp old mode 100644 new mode 100755 diff --git a/src/common/galois.cpp b/src/common/galois.cpp old mode 100644 new mode 100755 diff --git a/src/common/n2m.cpp b/src/common/n2m.cpp old mode 100644 new mode 100755 diff --git a/src/common/normApi.cpp b/src/common/normApi.cpp old mode 100644 new mode 100755 diff --git a/src/common/normApp.cpp b/src/common/normApp.cpp old mode 100644 new mode 100755 diff --git a/src/common/normEncoder.cpp b/src/common/normEncoder.cpp old mode 100644 new mode 100755 diff --git a/src/common/normEncoderMDP.cpp b/src/common/normEncoderMDP.cpp old mode 100644 new mode 100755 diff --git a/src/common/normEncoderRS16.cpp b/src/common/normEncoderRS16.cpp old mode 100644 new mode 100755 diff --git a/src/common/normEncoderRS8.cpp b/src/common/normEncoderRS8.cpp old mode 100644 new mode 100755 diff --git a/src/common/normFile.cpp b/src/common/normFile.cpp old mode 100644 new mode 100755 diff --git a/src/common/normMessage.cpp b/src/common/normMessage.cpp old mode 100644 new mode 100755 diff --git a/src/common/normNode.cpp b/src/common/normNode.cpp old mode 100644 new mode 100755 index 1c386cb..9b962dd --- a/src/common/normNode.cpp +++ b/src/common/normNode.cpp @@ -2203,8 +2203,62 @@ void NormSenderNode::RepairCheck(NormObject::CheckLevel checkLevel, NormSegmentId segmentId) { ASSERT(synchronized); + + if (NormObject::BLIND_CHECK == checkLevel) + { + ASSERT(objectId == max_pending_object); + NormObject* objMax = rx_table.Find(objectId); + if (NULL != objMax) + { + NormSegmentId segMax = objMax->GetMaxPendingSegmentId(); + if (0 != segMax) + return RepairCheck(NormObject::THRU_SEGMENT, + objectId, + objMax->GetMaxPendingBlockId(), + objMax->GetMaxPendingSegmentId() - 1); + else + return RepairCheck(NormObject::TO_BLOCK, + objectId, + objMax->GetMaxPendingBlockId(), + 0); + + // The above has been reinstated because the alternative "THRU_OBJECT" here + // causes gratuitous NACKing when the sender goes IDLE .. + + // Or we could do this instead (possibly some unnecessary NACKing for NORM_OBJECT_STREAM will occur here) + //RepairCheck(NormObject::THRU_OBJECT, // (TBD) thru object??? + // max_pending_object, 0, 0); + + // (TBD) What should we really do here? Our current NormNode::RepairCheck() and + // NormObject::ReceiverRepairCheck() methods update the "max_pending" indices + // so we _could_ make ourselves NACK for more repair than we should + // when the inactivity timeout kicks in ??? But if we don't NACK "thru object" + // we may miss something at end-of-transmission by not not NACKing? I guess + // the reliability really is in the flush process and our activity timeout NACK + // is "iffy, at best" ... Perhaps we need to have some sort of "wildcard" NACK, + // but then _everyone_ would NACK at EOT all the time, often for nothing ... so + // I guess the activity timeout NACK isn't perfect ... but could help some + // so we leave it as it is for the moment ("THRU_OBJECT") ... perhaps we could + // add a parameter so NormObject::ReceiverRepairCheck() doesn't update its + // "max_pending" indices - or would this break NACK building? + + // Maybe we should do THRU_OBJECT when the remote sender is fully inactive as + // opposed to this inactivity timeout that only pays attention to NORM_DATA. I.e., + // do the above refined RepairCheck() when we still have NORM_CMD activity but + // no NORM_DATA activity??? We'd still have potentially a lot of EOT NACKing + } + else + { + return RepairCheck(NormObject::THRU_OBJECT, objectId, 0, 0); + //RepairCheck(NormObject::TO_BLOCK, // (TBD) thru object??? + // max_pending_object, 0, 0); + } + } // end if (NormObject::BLIND_CHECK == checkLevel) + if (objectId > max_pending_object) max_pending_object = objectId; + + if (!repair_timer.IsActive()) { // repair timer inactive @@ -2792,7 +2846,7 @@ void NormSenderNode::Activate(bool isObjectMsg) // activity (iff rx_pending_mask.IsSet()) // (If it is an object message, RepairCheck() will be called accordingly if (!isObjectMsg && rx_pending_mask.IsSet()) - RepairCheck(NormObject::THRU_OBJECT, max_pending_object, 0, 0); // (TBD) thru object??? + RepairCheck(NormObject::BLIND_CHECK, max_pending_object, 0, 0); session.Notify(NormController::REMOTE_SENDER_ACTIVE, this, NULL); } else if (isObjectMsg) @@ -2824,53 +2878,15 @@ bool NormSenderNode::OnActivityTimeout(ProtoTimer& /*theTimer*/) UpdateRecvRate(currentTime, 0); if (synchronized) { - NormObject* objMax = rx_table.Find(max_pending_object); - if (NULL != objMax) - { - NormSegmentId segMax = objMax->GetMaxPendingSegmentId(); - if (0 != segMax) - RepairCheck(NormObject::THRU_SEGMENT, - max_pending_object, - objMax->GetMaxPendingBlockId(), - objMax->GetMaxPendingSegmentId() - 1); - else - RepairCheck(NormObject::TO_BLOCK, - max_pending_object, - objMax->GetMaxPendingBlockId(), - 0); - - // The above has been reinstated because the alternative "THRU_OBJECT" here - // causes gratuitous NACKing when the sender goes IDLE .. - - // Or we could do this instead (possibly some unnecessary NACKing for NORM_OBJECT_STREAM will occur here) - //RepairCheck(NormObject::THRU_OBJECT, // (TBD) thru object??? - // max_pending_object, 0, 0); - - // (TBD) What should we really do here? Our current NormNode::RepairCheck() and - // NormObject::ReceiverRepairCheck() methods update the "max_pending" indices - // so we _could_ make ourselves NACK for more repair than we should - // when the inactivity timeout kicks in ??? But if we don't NACK "thru object" - // we may miss something at end-of-transmission by not not NACKing? I guess - // the reliability really is in the flush process and our activity timeout NACK - // is "iffy, at best" ... Perhaps we need to have some sort of "wildcard" NACK, - // but then _everyone_ would NACK at EOT all the time, often for nothing ... so - // I guess the activity timeout NACK isn't perfect ... but could help some - // so we leave it as it is for the moment ("THRU_OBJECT") ... perhaps we could - // add a parameter so NormObject::ReceiverRepairCheck() doesn't update its - // "max_pending" indices - or would this break NACK building? - - // Maybe we should do THRU_OBJECT when the remote sender is fully inactive as - // opposed to this inactivity timeout that only pays attend to NORM_DATA. I.e., - // do the above refined RepairCheck() when we still have NORM_CMD activity but - // no NORM_DATA activity??? We'd still have potentially a lot of EOT NACKing - } - else - { - RepairCheck(NormObject::THRU_OBJECT, - max_pending_object, 0, 0); - //RepairCheck(NormObject::TO_BLOCK, // (TBD) thru object??? - // max_pending_object, 0, 0); - } + // A "blind check" is used to request repair for any known missing data while + // for which we have state, or alternatively request repair through the whole of + // the "max_pending_object". The sender will either provide the requested repair + // information or respond with a NORM_CMD(SQUELCH) to bring the receiver back into + // sync if is out of sync (i.e., an outage occurred). THis blind check is done upon + // activity timeout (here) or upon reactivation of a sender when seeing a NORM_CMD message + // instead of a NORM_DATA message. Since NORM_CMD doesn't provide objectId, etc information, + // thus a "blind" check is needed. + RepairCheck(NormObject::BLIND_CHECK, max_pending_object, 0, 0); } // We manually manage the "repeat_count" here to avoid the // case where "bursty" receiver scheduling may lead to false diff --git a/src/common/normObject.cpp b/src/common/normObject.cpp old mode 100644 new mode 100755 index 1f48ddf..ad59bb7 --- a/src/common/normObject.cpp +++ b/src/common/normObject.cpp @@ -852,6 +852,9 @@ bool NormObject::ReceiverRepairCheck(CheckLevel level, bool startRepairTimer = false; switch (level) { + case BLIND_CHECK: + ASSERT(0); // should never occur + return false; case TO_OBJECT: return false; case THRU_INFO: diff --git a/src/common/normPostProcess.cpp b/src/common/normPostProcess.cpp old mode 100644 new mode 100755 diff --git a/src/common/normPrecode.cpp b/src/common/normPrecode.cpp old mode 100644 new mode 100755 diff --git a/src/common/normSegment.cpp b/src/common/normSegment.cpp old mode 100644 new mode 100755 diff --git a/src/common/normSession.cpp b/src/common/normSession.cpp old mode 100644 new mode 100755 index b70f249..6a9104d --- a/src/common/normSession.cpp +++ b/src/common/normSession.cpp @@ -2914,46 +2914,46 @@ void NormSession::HandleReceiveMessage(NormMsg &msg, bool wasUnicast, bool ecnSt switch (msg.GetType()) { - case NormMsg::INFO: - //DMSG(0, "NormSession::HandleReceiveMessage(NormMsg::INFO)\n"); - if (IsReceiver()) - ReceiverHandleObjectMessage(currentTime, (NormObjectMsg &)msg, ecnStatus); - break; - case NormMsg::DATA: - //DMSG(0, "NormSession::HandleReceiveMessage(NormMsg::DATA) ...\n"); - if (IsReceiver()) - ReceiverHandleObjectMessage(currentTime, (NormObjectMsg &)msg, ecnStatus); - break; - case NormMsg::CMD: - //DMSG(0, "NormSession::HandleReceiveMessage(NormMsg::CMD) ...\n"); - if (IsReceiver()) - ReceiverHandleCommand(currentTime, (NormCmdMsg &)msg, ecnStatus); - break; - case NormMsg::NACK: - if (IsSender() && (((NormNackMsg &)msg).GetSenderId() == LocalNodeId())) - { - SenderHandleNackMessage(currentTime, (NormNackMsg &)msg); - if (wasUnicast && (backoff_factor > 0.5) && Address().IsMulticast()) + case NormMsg::INFO: + //DMSG(0, "NormSession::HandleReceiveMessage(NormMsg::INFO)\n"); + if (IsReceiver()) + ReceiverHandleObjectMessage(currentTime, (NormObjectMsg &)msg, ecnStatus); + break; + case NormMsg::DATA: + //DMSG(0, "NormSession::HandleReceiveMessage(NormMsg::DATA) ...\n"); + if (IsReceiver()) + ReceiverHandleObjectMessage(currentTime, (NormObjectMsg &)msg, ecnStatus); + break; + case NormMsg::CMD: + //DMSG(0, "NormSession::HandleReceiveMessage(NormMsg::CMD) ...\n"); + if (IsReceiver()) + ReceiverHandleCommand(currentTime, (NormCmdMsg &)msg, ecnStatus); + break; + case NormMsg::NACK: + if (IsSender() && (((NormNackMsg &)msg).GetSenderId() == LocalNodeId())) { - // for suppression of unicast nack feedback - advertise_repairs = true; - QueueMessage(NULL); // to prompt transmit timeout + SenderHandleNackMessage(currentTime, (NormNackMsg &)msg); + if (wasUnicast && (backoff_factor > 0.5) && Address().IsMulticast()) + { + // for suppression of unicast nack feedback + advertise_repairs = true; + QueueMessage(NULL); // to prompt transmit timeout + } } - } - if (IsReceiver()) - ReceiverHandleNackMessage((NormNackMsg &)msg); - break; - case NormMsg::ACK: - if (IsSender() && (((NormAckMsg &)msg).GetSenderId() == LocalNodeId())) - SenderHandleAckMessage(currentTime, (NormAckMsg &)msg, wasUnicast); - if (IsReceiver()) - ReceiverHandleAckMessage((NormAckMsg &)msg); - break; + if (IsReceiver()) + ReceiverHandleNackMessage((NormNackMsg &)msg); + break; + case NormMsg::ACK: + if (IsSender() && (((NormAckMsg &)msg).GetSenderId() == LocalNodeId())) + SenderHandleAckMessage(currentTime, (NormAckMsg &)msg, wasUnicast); + if (IsReceiver()) + ReceiverHandleAckMessage((NormAckMsg &)msg); + break; - case NormMsg::REPORT: - case NormMsg::INVALID: - PLOG(PL_ERROR, "NormSession::HandleReceiveMessage(NormMsg::INVALID)\n"); - break; + case NormMsg::REPORT: + case NormMsg::INVALID: + PLOG(PL_ERROR, "NormSession::HandleReceiveMessage(NormMsg::INVALID)\n"); + break; } } // end NormSession::HandleReceiveMessage() diff --git a/src/common/normSimAgent.cpp b/src/common/normSimAgent.cpp old mode 100644 new mode 100755 diff --git a/src/common/normTest.cpp b/src/common/normTest.cpp old mode 100644 new mode 100755 diff --git a/src/common/normThreadTest.cpp b/src/common/normThreadTest.cpp old mode 100644 new mode 100755 diff --git a/src/common/pcap2norm.cpp b/src/common/pcap2norm.cpp old mode 100644 new mode 100755 diff --git a/src/common/raft.cpp b/src/common/raft.cpp old mode 100644 new mode 100755 diff --git a/src/common/rules.txt b/src/common/rules.txt old mode 100644 new mode 100755 diff --git a/src/java/.classpath b/src/java/.classpath old mode 100644 new mode 100755 diff --git a/src/java/.project b/src/java/.project old mode 100644 new mode 100755 diff --git a/src/java/jni/normDataJni.cpp b/src/java/jni/normDataJni.cpp old mode 100644 new mode 100755 diff --git a/src/java/jni/normDataJni.h b/src/java/jni/normDataJni.h old mode 100644 new mode 100755 diff --git a/src/java/jni/normEventJni.cpp b/src/java/jni/normEventJni.cpp old mode 100644 new mode 100755 diff --git a/src/java/jni/normEventJni.h b/src/java/jni/normEventJni.h old mode 100644 new mode 100755 diff --git a/src/java/jni/normFileJni.cpp b/src/java/jni/normFileJni.cpp old mode 100644 new mode 100755 diff --git a/src/java/jni/normFileJni.h b/src/java/jni/normFileJni.h old mode 100644 new mode 100755 diff --git a/src/java/jni/normInstanceJni.cpp b/src/java/jni/normInstanceJni.cpp old mode 100644 new mode 100755 diff --git a/src/java/jni/normInstanceJni.h b/src/java/jni/normInstanceJni.h old mode 100644 new mode 100755 diff --git a/src/java/jni/normJni.cpp b/src/java/jni/normJni.cpp old mode 100644 new mode 100755 diff --git a/src/java/jni/normJni.h b/src/java/jni/normJni.h old mode 100644 new mode 100755 diff --git a/src/java/jni/normNodeJni.cpp b/src/java/jni/normNodeJni.cpp old mode 100644 new mode 100755 diff --git a/src/java/jni/normNodeJni.h b/src/java/jni/normNodeJni.h old mode 100644 new mode 100755 diff --git a/src/java/jni/normObjectJni.cpp b/src/java/jni/normObjectJni.cpp old mode 100644 new mode 100755 diff --git a/src/java/jni/normObjectJni.h b/src/java/jni/normObjectJni.h old mode 100644 new mode 100755 diff --git a/src/java/jni/normSessionJni.cpp b/src/java/jni/normSessionJni.cpp old mode 100644 new mode 100755 diff --git a/src/java/jni/normSessionJni.h b/src/java/jni/normSessionJni.h old mode 100644 new mode 100755 diff --git a/src/java/jni/normStreamJni.cpp b/src/java/jni/normStreamJni.cpp old mode 100644 new mode 100755 diff --git a/src/java/jni/normStreamJni.h b/src/java/jni/normStreamJni.h old mode 100644 new mode 100755 diff --git a/src/java/src/mil/navy/nrl/norm/NormData.java b/src/java/src/mil/navy/nrl/norm/NormData.java old mode 100644 new mode 100755 diff --git a/src/java/src/mil/navy/nrl/norm/NormEvent.java b/src/java/src/mil/navy/nrl/norm/NormEvent.java old mode 100644 new mode 100755 diff --git a/src/java/src/mil/navy/nrl/norm/NormFile.java b/src/java/src/mil/navy/nrl/norm/NormFile.java old mode 100644 new mode 100755 diff --git a/src/java/src/mil/navy/nrl/norm/NormInstance.java b/src/java/src/mil/navy/nrl/norm/NormInstance.java old mode 100644 new mode 100755 diff --git a/src/java/src/mil/navy/nrl/norm/NormNode.java b/src/java/src/mil/navy/nrl/norm/NormNode.java old mode 100644 new mode 100755 diff --git a/src/java/src/mil/navy/nrl/norm/NormObject.java b/src/java/src/mil/navy/nrl/norm/NormObject.java old mode 100644 new mode 100755 diff --git a/src/java/src/mil/navy/nrl/norm/NormSession.java b/src/java/src/mil/navy/nrl/norm/NormSession.java old mode 100644 new mode 100755 diff --git a/src/java/src/mil/navy/nrl/norm/NormStream.java b/src/java/src/mil/navy/nrl/norm/NormStream.java old mode 100644 new mode 100755 diff --git a/src/java/src/mil/navy/nrl/norm/enums/NormAckingStatus.java b/src/java/src/mil/navy/nrl/norm/enums/NormAckingStatus.java old mode 100644 new mode 100755 diff --git a/src/java/src/mil/navy/nrl/norm/enums/NormEventType.java b/src/java/src/mil/navy/nrl/norm/enums/NormEventType.java old mode 100644 new mode 100755 diff --git a/src/java/src/mil/navy/nrl/norm/enums/NormFlushMode.java b/src/java/src/mil/navy/nrl/norm/enums/NormFlushMode.java old mode 100644 new mode 100755 diff --git a/src/java/src/mil/navy/nrl/norm/enums/NormNackingMode.java b/src/java/src/mil/navy/nrl/norm/enums/NormNackingMode.java old mode 100644 new mode 100755 diff --git a/src/java/src/mil/navy/nrl/norm/enums/NormObjectType.java b/src/java/src/mil/navy/nrl/norm/enums/NormObjectType.java old mode 100644 new mode 100755 diff --git a/src/java/src/mil/navy/nrl/norm/enums/NormProbingMode.java b/src/java/src/mil/navy/nrl/norm/enums/NormProbingMode.java old mode 100644 new mode 100755 diff --git a/src/java/src/mil/navy/nrl/norm/enums/NormRepairBoundary.java b/src/java/src/mil/navy/nrl/norm/enums/NormRepairBoundary.java old mode 100644 new mode 100755 diff --git a/src/java/src/mil/navy/nrl/norm/enums/NormSyncPolicy.java b/src/java/src/mil/navy/nrl/norm/enums/NormSyncPolicy.java old mode 100644 new mode 100755 diff --git a/src/java/src/mil/navy/nrl/norm/io/INormEventListener.java b/src/java/src/mil/navy/nrl/norm/io/INormEventListener.java old mode 100644 new mode 100755 diff --git a/src/java/src/mil/navy/nrl/norm/io/NormInputStream.java b/src/java/src/mil/navy/nrl/norm/io/NormInputStream.java old mode 100644 new mode 100755 diff --git a/src/java/src/mil/navy/nrl/norm/io/NormOutputStream.java b/src/java/src/mil/navy/nrl/norm/io/NormOutputStream.java old mode 100644 new mode 100755 diff --git a/src/java/src/mil/navy/nrl/norm/io/StreamBreakException.java b/src/java/src/mil/navy/nrl/norm/io/StreamBreakException.java old mode 100644 new mode 100755 diff --git a/src/pynorm/__init__.py b/src/pynorm/__init__.py old mode 100644 new mode 100755 diff --git a/src/pynorm/constants.py b/src/pynorm/constants.py old mode 100644 new mode 100755 diff --git a/src/pynorm/core.py b/src/pynorm/core.py old mode 100644 new mode 100755 diff --git a/src/pynorm/event.py b/src/pynorm/event.py old mode 100644 new mode 100755 diff --git a/src/pynorm/extra/__init__.py b/src/pynorm/extra/__init__.py old mode 100644 new mode 100755 diff --git a/src/pynorm/extra/logparser.py b/src/pynorm/extra/logparser.py old mode 100644 new mode 100755 diff --git a/src/pynorm/extra/manager.py b/src/pynorm/extra/manager.py old mode 100644 new mode 100755 diff --git a/src/pynorm/instance.py b/src/pynorm/instance.py old mode 100644 new mode 100755 diff --git a/src/pynorm/node.py b/src/pynorm/node.py old mode 100644 new mode 100755 diff --git a/src/pynorm/object.py b/src/pynorm/object.py old mode 100644 new mode 100755 diff --git a/src/pynorm/session.py b/src/pynorm/session.py old mode 100644 new mode 100755 diff --git a/src/sim/ns/README.txt b/src/sim/ns/README.txt old mode 100644 new mode 100755 diff --git a/src/sim/ns/example.tcl b/src/sim/ns/example.tcl old mode 100644 new mode 100755 diff --git a/src/sim/ns/nackCount.cpp b/src/sim/ns/nackCount.cpp old mode 100644 new mode 100755 diff --git a/src/sim/ns/normcc.tcl b/src/sim/ns/normcc.tcl old mode 100644 new mode 100755 diff --git a/src/sim/ns/ns226-Makefile.in b/src/sim/ns/ns226-Makefile.in old mode 100644 new mode 100755 diff --git a/src/sim/ns/nsNormAgent.cpp b/src/sim/ns/nsNormAgent.cpp old mode 100644 new mode 100755 diff --git a/src/sim/ns/nsNormAgent.h b/src/sim/ns/nsNormAgent.h old mode 100644 new mode 100755 diff --git a/src/sim/ns/simplenorm.tcl b/src/sim/ns/simplenorm.tcl old mode 100644 new mode 100755 diff --git a/src/sim/ns/sizeAve.cpp b/src/sim/ns/sizeAve.cpp old mode 100644 new mode 100755 diff --git a/src/sim/opnet/11.5/OpnetNormProcess.h b/src/sim/opnet/11.5/OpnetNormProcess.h old mode 100644 new mode 100755 diff --git a/src/sim/opnet/11.5/norm_protolib.pr.cpp b/src/sim/opnet/11.5/norm_protolib.pr.cpp old mode 100644 new mode 100755 diff --git a/src/sim/opnet/11.5/norm_protolib.pr.m b/src/sim/opnet/11.5/norm_protolib.pr.m old mode 100644 new mode 100755 diff --git a/src/sim/opnet/12.0/OpnetNormProcess.h b/src/sim/opnet/12.0/OpnetNormProcess.h old mode 100644 new mode 100755 diff --git a/src/sim/opnet/12.0/norm_protolib.pr.cpp b/src/sim/opnet/12.0/norm_protolib.pr.cpp old mode 100644 new mode 100755 diff --git a/src/sim/opnet/12.0/norm_protolib.pr.m b/src/sim/opnet/12.0/norm_protolib.pr.m old mode 100644 new mode 100755 diff --git a/src/unix/unixPostProcess.cpp b/src/unix/unixPostProcess.cpp old mode 100644 new mode 100755 diff --git a/src/win32/win32PostProcess.cpp b/src/win32/win32PostProcess.cpp old mode 100644 new mode 100755 diff --git a/wscript b/wscript old mode 100644 new mode 100755