Caleb
fcd2554051
Add rust bindings ( #98 )
...
* add rust bindings to norm
* modify PR description
* remove PR description since it is redundant
* remove weird character
* remove __pycache__ and add __pycache__ to gitignore
---------
Co-authored-by: cbowers <cbowers@anduril.com>
2026-05-23 20:25:32 -04:00
Jeffery Weston
823e3e8c88
fix npc compilation error
2025-07-23 13:32:38 -04:00
mullerj
4fd768f9cc
.NET NORM Extension ( #85 )
...
* .NET Extension Design (#5 )
* Designed .NET classes from Java
Co-authored-by: Sergiy <sergiy.yermak.ctr@us.navy.mil>
* Added NormApi static class
* Started on api uml
Co-authored-by: mullerj <mullerj@users.noreply.github.com>
Co-authored-by: Sylvester Freeman III <Slyfree3@users.noreply.github.com>
* Add static methods to api uml
* add static method to normapi uml
* Add enums
* Changes
* Overload methods with defaults
* type marshalling
* change handles to in nuint
* marshall more handles
* Removed in/ref and reformatted.
Co-authored-by: mullerj <mullerj@users.noreply.github.com>
* Removed duplicate enums
* Removed NormEvent from NormApi
* Fixed typo
* design NormInstance methods
Co-authored-by: mullerj <mullerj@users.noreply.github.com>
* Fixed CreateInstance method
* Changed handles to long
* Change id types to long
* Remove condition checks that do nothing
* Removed UserData functions
* Removed NormAlloc() and NormFree()
* Cleaned up some API methods
* Fix misspelling
Co-authored-by: Sylvester Freeman III <Slyfree3@users.noreply.github.com>
* Design NormSession methods
Co-authored-by: Sylvester Freeman III <Slyfree3@users.noreply.github.com>
* Added missing comma
* Uml for enqueue
Co-authored-by: mullerj <mullerj@users.noreply.github.com>
* Updated design based on enqueue test
* Updated EnqueueFile sequence diagram
Co-authored-by: Sylvester Freeman III <Slyfree3@users.noreply.github.com>
* Moved sequence diagrams
* Added constants to NormApi
* Removed method level sequence diagrams
---------
Co-authored-by: Sergiy <sergiy.yermak.ctr@us.navy.mil>
Co-authored-by: syermak <syerm001@odu.edu>
Co-authored-by: mullerj <mullerj@users.noreply.github.com>
Co-authored-by: Sylvester Freeman III <Slyfree3@users.noreply.github.com>
Co-authored-by: Sergiy <47069243+SergiyYermak@users.noreply.github.com>
Co-authored-by: Sylvester Freeman III <Slyfreeman3@gmail.com>
* .NET Extension Design Implementation (#10 )
* changes
* Removed GetsNextEvent test
* Implemented GetNextEvent
* Fixed NormStream design
* Fixed HasNextEvent design
* Added NormGetNextEvent overload
* Implemented HasNextEvent
* Updated design
* Added Kernel32 to design
* Modified to use .NET EventWaitHandle instead of kernel32 P/Invoke
* Modified to only copy norm.dll on Windows
* Added copy for non Windows
* add start and stop receiver
* add receiver
* Modified non-Windows to use Socket for HasNextEvent
* Deleted NormFileTests since they break the other tests
* Fixed ReceiverReceives test
* Updated ReceiverReceives test name
* Modified ReceivesFile to get all events instead of adding to array
* Cleaned up NormInstance formatting
* Refactored tests
* Updated NormFile
* Implemented send stream
* Implemented receive stream
* Implemented NormFile Name
* Updated ReceivesFile to use events
* data enqueue
* Fixed merge
* Fixed ReceivesData test
* Modified data test to compare collections without order
* stop instance working
* enqueues data
* Reverted upgrade to .NET 7
* Restartinstance is working
* Modified NormData to read bytes instead of as string
* Removed using statements in NormData
* Updated design
* Updated design
* Switched to nint
* Switched design to nint
* unfinished test for suspendinstance
* working suspend instance
* added resume function to instance
* Updated session send and receive data tests
* Removed launch settings
* session configuration functions
* Modified to use random port due to intermittent failed tests due to session conflict
* Modified to randomize text content
* Implemented NormNode Address
* Updated design for NormNode
* Implemented NormNode Grtt
* Implemented NormNode Id
* implement session configuration functions
* instance
* missing return types
* add missing handle param
* normNode
* Implemented RequeueObject
* Implemented SetWatermark and AckingNode
* Implemented CancelWatermark
* Implemented ResetWatermark
* Implemented SendCommand
* Implemented CancelCommand
* Implemented DebugLevel. Removed DebugPipe
* Updated SetTxPort
* Updated SetRxPortReuse
* Implemented SetEcnSupport
* Added test for RxLoss
* Implemented ReportInterval
* Refactored session calculated properties
* Updated enqueue methods
* Updated StreamOpen design
* Fixed SetWatermark overload
* Implemented GetAckingStatus
* Removed SendCommand overload
* Removed SetSilentReceiver overload
* Implemented NormEvent ToString
* Implemented NormFile Rename
* Implemented SetUnicastNack
* Added ReceivesCommand test
* Implemented SetNackingMode
* Implemented SetRepairBoundary
* Added Fact to SetsRepairBoundary test
* Implemented SetRxRobustFactor
* Implemented NormNode Command
* Implemented FreeBuffers
* Implemented Retain and Release
* Fix using namespaces
* test get object type
* NormObject get size
* NormObject setNackingMode
* NormObject get bytes pending
* NormObjet cancel
* NormObject retain
* NormObject release
* NormObject get sender
* NormObject get hashcode
* normObject equals
* Implemented NormObject Equals
* Removed redundant cast
* Removed unused using directive
* Removed static using
* Added NormApi to global Usings
* Added Enums to global usings
* Cleaned up NormObject Equals
* Cleaned up NormObject GetHashCode() test
* Cleaned up warning
* normStream has vacancy
* normStream read offset
* normStream seek msg start
* NormEventListener interface
* normStream set push enable
* normStream set auto flush
* Simplified NormApi usage
* Updated design of NormStream
* public interface
* Fixed INormEventListener
* fixing name space
* commit initializing inputstream
* Added StreamBreakException
* Fixed formatting
* Fixed formatting
* Fixed formatting
* Initial implementation of NormOutputStream
* Cleaned up NormObject Equals
* NormInputStream class
Co-authored-by: mullerj <mullerj@users.noreply.github.com>
* normStream data offset
* move offset length arithmetic into write method
* building normInputstream
* all method implemented
Co-authored-by: mullerj <mullerj@users.noreply.github.com>
* NormStreamRead
* Fixed build error
* Completed ReceivesStreamWithOffset test
* Added retries to GetsCommand test
* Updated type for NormStreamRead
* Simplified NormStream Read
* Simplified NormStream Write
* Added dataOffset to DataEnqueue
* Fixed DataEnqueue overload
* Added infoOffset to FileEnqueue
* Added infoOffset to StreamOpen
* Updated design
* Removed extra overload of FileEnqueue
* Removed DataEnqueue overloads
* Removed extra overload from StreamOpen
* Added HasNextEvent overload
* Implemented OpenDebugPipe
* add thread locking
* locking for properties
* Not supported exceptions
* Implementing sychronize
* fixing inputstream
* adding sychronize message
* Reorganized NormApi and updated design
* Modified to skip GetsCommand test on IO exception
* WIP: 537b706 adding sychronize message
* adding message to expections
* Fixed test file cleanup
* Added locking to NormSession methods that use static field
* Changed StartsSender to skippablefact
* Changed to SetsNackingMode to skippable fact
* Converted tests to skippable
* Converted more tests to skippable
* Converted all tests that start sender to skippable
* Updated README about skipped tests
* documentation
* 2 doc
* Cleaned up input and output stream classes
* Cleaned up NormApi
* Updated NormOutputStream Write
* Added document comments to NormApi
* Added comments to NormApi
* Removed unnecessary usings
* Added comments to NormApi
* set up the rest of doc
* api documentation
* fix typo
* fix spacing
* Doc for instance need clean up
* clean up
* document norm session
* NormStream documentation
* commit for node
* NormObject docs
* Updated NormApi comments
* Cleaned up NormInstance comments
* Cleaned up NormNode comments
* Cleaned up NormObject comments
* Cleaned up NormSession comments
* Cleaned up NormStream comments
* Cleaned up NormObject comments
* Adding commits
* Update get commit
* clean up on data and event
* Norm Data change
* clean up normfile docs
* clean up normstream
* clean up api docs
* Fixed data
* space approved
* Cleaned up NormData comment
* documentation clean up
* Update the ReadMe
* Cleaned up comments
* Added comments to NormAckingStatus
* Added comments to NormEventType
* Added comments to NormFecType
* Added comments to NormNackingMode
* Added comments to NormObjectType
* Added comments to NormProbingMode
* Added comments to NormRepairBoundary
* Added comments to NormFlushMode
* Added comments to NormSyncPolicy
* Cleaned up comments. Fixed default for StartSender
* Added comments to constants
* Moved constants to relevant classes
* Updated design
* Removed NormDataDetachData since it is not referenced
* Updated design
* Updated input and output stream design
* Updated packaging README
* Removed language version since redundant
* Cleaned up project file
* Updated to package from the dotnet directory (test project is set to not pack)
* Added version to project
---------
Co-authored-by: syermak <syerm001@odu.edu>
Co-authored-by: Sylvester Freeman III <Slyfreeman3@gmail.com>
Co-authored-by: Sergiy <47069243+SergiyYermak@users.noreply.github.com>
Co-authored-by: mullerj <mullerj@users.noreply.github.com>
* NormSession typos in comments (#12 )
* Fixed default function comments in NormSession
* Fixed typos in NormSession
* Fixed default function comments
* Feature/9 net norm extension target architecture packages (#13 )
* Added Win64 project and release configuration
* Added project reference to Win64 project
* Added Win32 project. Moved norm build actions to scripts
* Added linux .NET extension project
* Modified linux project to copy to output directory
* Fixed linux pack script
* Changed Linux project to copy always
* Changed Linux project package path
* Moved Windows libraries to runtimes path
* Renamed runtime specific projects
* Codespace Configurations (#15 )
* Created devcontainer.json
* .NET norm extension GitHub actions (#16 )
* Added .NET action
* Update dotnet-publish.yml to use source branch (#18 )
* .NET norm package publish (#19 )
* Added steps to copy package and check workspace
* Changed trigger for testing
* Removed if statement
* Updated dotnet-publish.yml to copy to $GITHUB_OUTPUT
* Changed from variable to path
* Removed copy command
* Modified to check runner directory
* Added step to publish package
* Added package write permission
* Added job to publish win-x64
* Fixed package win-x64 step
* Added job to publish win-x86
* Added skip-duplicate to publish commands
* Added publish job
* Changed to . for linux find
* Added workflow trigger
* Added branches filter
* Publish test results (#21 )
* Added step to publish test results
* Changed upload step to use wildcard
* Added quotes
* Changed directory to relative path
* Fixed upload step
* Added step to publish test results
* Added permissions
* Dev Container extensions (#23 )
* Added extensions
* Cut down on extensions
* Added extension
* Removed pull requests extension
* Added workspace recommendation
* Added powershell feature
* Fixed powershell version
* Updated powershell version and added extension
* Updated to latest powershell
* Dev Container performance (#25 )
* Fixed devcontainer format
* Added dotnet-linux-x64 devcontainer
* Changed devcontainer image to python
* Pinned OS version
* Updated devcontainer base image
* Reverted changes to devcontainer
* Moved linux devcontainer file
* Updated dotnet-publish to use subfolder
* Revert "Dev Container performance (#25 )" (#27 )
This reverts commit 2be146ceed .
* Update action versions for dotnet-publish.yml
* Update action versions for dotnet.yml
* Fixed ReceivesData test to use received events for actual data
* NormData Refactor (#30 )
* Switched NormData Data property to a method
* Corrected NormData summary comment
* Updated NormData GetData to use Marshal.Copy
* Fixed warnings
* Updated NormData design
* NormDataEnqueue Refactor (#31 )
* Switched NormDataEnqueue to use IntPtr
* Updated NormApi design
* Updated GetSession to use lock
* Updated GetSession to TryGetValue
* DataEnqueue Refactor (#33 )
* Refactored DataEnqueue to use pointer arithmetic
* NormDataEnqueue Refactor (#34 )
* Updated to use SafeBuffer
* Added ByteBuffer and DirectByteBuffer
* Added pointer overload to DataEnqueue
* Updated FileEnqueue() to use pointer arithmetic
* Updated NormStream to use pointer arithmetic
* Updated NormSendCommand to nint
* Updated NormNodeGetCommand to nint
* Updated NormNodeGetAddress to use nint for buffer
* Updated NormStreamRead to use nint for buffer
* Updated NormObjectGetInfo to use nint for buffer
* Updated NormFileGetName nameBuffer to nint
* Updated NormFile.Name to use PtrToStringAnsi
* Updated NormFile.Name to use stackalloc (#37 )
* Updated NormNode.Address to use stackalloc and create IPAddress from bytes
* NormObject Refactor
* Updated NormObjectGetInfo to use byte array
* Updated design
* NormStream Refactor
* Updated NormStream Write to use fixed statement
* Updated NormStream Read to use fixed statement
* Updated design
* NormNode Refactor
* Updated NormNodeGetAddress to use byte* to avoid casting
* Updated NormNode GetCommand to use fixed statement
* Updated design
* NormFile Refactor
* Updated NormFileGetName to use sbyte* to avoid casting
* Updated design
* Added workflow_dispatch to workflows
---------
Co-authored-by: Sergiy <sergiy.yermak.ctr@us.navy.mil>
Co-authored-by: syermak <syerm001@odu.edu>
Co-authored-by: mullerj <mullerj@users.noreply.github.com>
Co-authored-by: Sylvester Freeman III <Slyfree3@users.noreply.github.com>
Co-authored-by: Sergiy <47069243+SergiyYermak@users.noreply.github.com>
Co-authored-by: Sylvester Freeman III <Slyfreeman3@gmail.com>
2025-03-26 01:07:19 -04:00
Brian Adamson
001d50aa46
pynorm fixes
2022-08-20 22:36:29 -04:00
Jeffery Weston
9e796e69b2
add protoApp version of normCast (normCastApp) -- includes realtime protopipe for runtime control using a subset of commands (rate, CC, autoparity, loss)
2022-05-19 16:55:37 -04:00
bebopagogo
12c729aaff
added Android gradle CMakelists file, etc
2021-09-17 20:16:41 -04:00
Jeffery Weston
4746eafe4f
add norp executable to .gitignore
2021-04-30 09:59:30 -04:00
Jeffery Weston
a89d31622c
fix pcap2norm compilation
2020-06-04 11:41:33 -04:00
bebopagogo
2cbb93d53c
wscript tweak
2020-02-29 15:10:33 -05:00
bebopagogo
d2e1391ef3
initial addition of normCast example
2019-12-27 11:34:11 -05:00
Jeff Weston
565afa5529
v0.1
2019-09-11 11:21:03 -04:00