Add Experimental Concepts


So the common namespace doesn't get bogged down with unrequired classes or methods. Should not be used from existing classes until present in Common or otherwise. (With supporting tests)




Active vs Passive (Direct / Indirect)

Non Zero / Inversion

Variability (co) ; 'constantuality'

Access (hardware inter alia)

Concretely defined concepts:
  • IConfiguration; allows a common configuration to be shared; supports design patterns of delegation where the pattern itself is not defined.
  • IApparatu(s), Equipment or Machine, IMI => Machine Interface

  • Driver (IHardware) Base and supporting implementations for use where desired to enforce consistency
  • Context implementations;
  • I(Have^Has)BinaryContext ; bit sizes matter


juliusfriedman wrote Feb 21, 2015 at 6:39 PM

Latest Code changes

Added Concepts Project.

Added Interfaces IText, and EncodingExtensions which contains methods to assist with reading various types of data, 'delimited', 'line', 'hex', 'number' and otherwise etc.

Added some UnitTests to support EncodingExtensions.

wrote Feb 21, 2015 at 10:38 PM

juliusfriedman wrote Mar 10, 2015 at 5:57 PM

Added Unsafe.

juliusfriedman wrote Mar 17, 2015 at 11:23 PM

Added, Timer, StopWatch, Clock, Unmanaged.

wrote Mar 17, 2015 at 11:24 PM

juliusfriedman wrote Mar 17, 2015 at 11:25 PM

Implemented shifts in Machine.

juliusfriedman wrote Mar 3, 2016 at 9:40 PM

Updated Binary, revised all ReadBinary and WriteBinary calls to use new ReadBits and WriteBits methods.

Added UnitTests for ReadBits methods.

Removed ConvertToBigEndian for now.

Removed BitEnumerator.

Added BitsToBytes, BytesToBits, BytesToMachineWords and MachineWordsToBytes methods which use shifts to determine values rather than arithmetic for performance.

Added ThreeBitMaxValue.

Determine if CopyBits should also be removed or revised in favor of the CopyBitsTo API.

juliusfriedman wrote Mar 30, 2016 at 3:09 PM

Moved BinaryRepresentation logic to Concepts.

Moved BitEnumerator logic to Concepts

Moved Bitwise logic to Conceps (added Exclusive XOR)

Determining if Binary can be further reduced in size.

juliusfriedman wrote Mar 30, 2016 at 3:14 PM

Added InitBlk and CopyBlk implementations.

juliusfriedman wrote Apr 4, 2016 at 5:31 PM

Updated IUpdateable implementation definiation.

Added IUpdateableExtensions

wrote Apr 4, 2016 at 7:40 PM

Associated with changeset 111972: Formats Beta

Performance tweaks, Bug fixes and progress on further development.

wrote Apr 8, 2016 at 7:17 PM

Associated with changeset 111975: Formats Beta

Bug fixes.

Updates for issues, performance and continuing development.

Please leave feedback.

juliusfriedman wrote May 10, 2016 at 7:14 PM

Added Array, ArrayElement.

Added more logic to Unsafe and CommonIntermediatLanguage.

juliusfriedman wrote May 13, 2016 at 6:09 PM

ConcurrentLinkedQueue added, Timer modified to use it.

wrote May 13, 2016 at 7:42 PM

Associated with changeset 112045: Formats Beta

Machine - Added ProbeBitOrderAndByteOrder.

Moved Binary.BitOrder and Binary.ByteOrder to machine.

Added IsByteOrder, IsLittleEndian and IsBigEndian.

Binary - fixed bug in MachineWordsToBytes ref overload.

Changed constructor to use Machine.ProbeBitOrderAndByteOrder

PacketBase - Added more logic, WIP.

MemorySegment - array is no longer readonly. Added constructor for new segment.

Added Update and IncreaseLength methods.

StringExtensions - Added Substring

IThreadReference - updates notes

CommonIntermediateLanguage - Moved MetadataToken to Generic

Renamed functions to use vowels.

Composed - Added IComposed for Object, added notes.

RtpHeader, RtcpHeader, RtcpPacket RtpPacket - Header and Payload can now be shared in a Contigious allocation

Added Synchronize to RtpPacket and RtcpPacket.

Performance improvements and bug fixes.

RtpClient - Added ThreadEvents property which will enable events to be threaded. Changed IListSockets from build time option to runtime option, added IListSockets property.

(Uses slightly more memory when threading is enabled)

TimeDescription - Uses TimeDescriptionLine properties.

SessionDescription - lists are now readonly.

RtspClient - InUse was adjusted to account for threading.

Common.Collections - Added ConcurrentLinkedQueue

Timer - Updates to use ConcurrentLinkedQueue

UnitTests updated and verified multiple times.

Please provide feedback! Without feedback it is hard to improve the library and provide further meaningful development.

juliusfriedman wrote Jul 15, 2016 at 4:57 PM

- IConcurrent ; read or write
-IReadOnly, IWriteOnly,IMutable added.

  • nonenim a abuti IMutable
- Binary.Math ; et al
  • Experimental.Math, Machine.BinaryRepresentation
Dependence (in)
-WIP, T.

Added IPtr, IPointer.

Generics, (Specifics)
  • Added I. (WIP)

juliusfriedman wrote Jul 15, 2016 at 5:44 PM

IUsable, IUpdateable Revised (WIP)

INumber^Numerical; can be thought of as number (HasPrecision, Width [sic], sign, formatting*

INumber, IQuantity added. (WIP)

Bitable, Number ToString and Equals revised.

Numerical Added.

juliusfriedman wrote Jul 15, 2016 at 6:24 PM

*- I(Am)Shared; used more than one place (IDisposable^IDisposed); *

IShared added

++ Quite a few other goodies

juliusfriedman wrote Jul 15, 2016 at 9:10 PM

et mortuus vitro dominus vester omnis
Class, Struct, IBuffer, Inter, Interface, IComposed, IBuffer, IParser,