Releases: jeikabu/nng.NETCore
Releases · jeikabu/nng.NETCore
v1.4.0-rc0
As features have been added to this library the naming convention has changed and there have been a few mistakes along the way:
- There's little indication which classes are low-level wrappers around NNG types (like
AsyncCtx) and which are high-level C# implementations (likeAsyncContext) - Some low-level wrappers match NNG naming and some don't;
Messagevsnng_msg - Some interfaces match implementations and some don't;
Dialer/IDialervsAlloc/IMemory
Changes
- [email protected]
- Retiring Subor.nng.NETCore package, all further releases will be as nng.NET
- Breaking changes:
- fix #88 Enforce various
*AsyncContextwrappers use correct sockets*AsyncContext.Create()methods take ISocket when they should accept more specific (e.g. ISendSocket)
- Renamed classes:
- AsyncIO => NngAio
- AsyncCtx => NngCtx
- Alloc/IMemory => NngAlloc/INngAlloc
- Dialer/IDialer => NngDialer/INngDialer
- Listener/IListener => NngListener/INngListener
- Message/IMessage/NngMessageHeader/IMessagePart => NngMsg/INngMsg/NngMsgHeader/INngMsgPart
- Socket/ISocket => NngSocket/INngSocket
- Pipe/IPipe => NngPipe/INngPipe
- IStat => INngStat
- Renamed properties:
- Various properties providing access to
nng_*structs are now allNativeNngStruct
- Various properties providing access to
- Message
Dup()returnsNngResultrather than throwing anNngExceptionon failure
- fix #88 Enforce various
- Removed obsoleted code:
- .Net Framework support; only .NET Core and .NET 5 are supported
ICtx; instead of downcasting toICtxuseIHasCtx.Ctx- Factory
Pair0OpenandPair1Open; usePairOpen - NNG library binaries built with
-DNNG_ELIDE_DEPRECATED=ONto remove old getopt/setopt functions
v1.3.2-rc2
v1.3.2-rc1
- fix #48 Stream API
- Wrapping and tests for
nng_stream_*family of functions - Usage example in
StreamTests.cs
- Wrapping and tests for
- fix #53 Iov for vectored I/O
- Primarily used by stream API
- Usage example in
AioTests.cs::Iov() - Using
nng_iovis currently clumsy and will be improved - WARNING: the
nng_iovstructs themselves are copied but the buffers pointed to byiov_bufare not (see nng_aio_set_iov)
- Factory support to create lower-level ctx/aio wrappers
- See
CreateCtxandCreateAioin Factory/INngAsyncFactory - Aio functionality in AsyncBase/IAsyncContext moved to AsyncIO/INngAio
- INngAio includes most
nng_aio_*functions to assist writingAioCallbackimplementations - Breaking Change:
AioCallbackmoved from UnsafeNativeMethods.AioCallback to nng.Shared.dll::nng.AioCallback
- See
v1.3.1-rc0
- NNG v1.3.1
- fix #61 async context with nng_ctx more accessible
- Previously needed downcast to
ICtxthat could fail to accessCtxproperty - Now
IAsyncContextimplementations with nng_ctx implementIHasCtxinterface that provides at compile-time rather than requiring runtime cast - Mark
ICtxobsolete so it can be deprecated and removed - Surveyor needed new AsyncContext interface because it is like ISendReceiveX but also
IHasCtx(has nng_ctx)
- Previously needed downcast to
- fix #73 New factories. Deprecate: pair v1 poly, Factory.PairXOpen
- Replace
nng.Tests.TestFactorywithnng.Factories.Compat.FactoryandLatest.Factory - Deprecate
Factory.Pair0OpenandPair1Openin favor of more genericPairOpen - Pair v1 poly deprecated in NNG v1.3.0
- Replace
v1.3.0-rc1
- Fix Dispose’d aio contexts. AsyncContexts no longer maintain a static list to prevent GC’d callbacks from being invoked from native code. Dispose now calls
nng_aio_stopinstead ofnng_aio_cancel. - Sockets now implement
IHasSocketso higher level interfaces can be applied. E.g. SubSocket now implementsISubscriber. SendMsgandSendZeroCopynow pass ownership of data to native code to avoid incorrect memory handling (#80).
v1.3.0-rc0
- NNG v1.3.0
Known Issues
NngMsg::Clear()clears the body and header, previously it only cleared the body
v1.2.4-rc1
-Factory provides Pair0Open and Pair1Open for pair v0 and v1 sockets, respectively. Ambiguous PairOpen (implicitly v1) removed.
v1.2.4-rc0
- [email protected]
- Message supports operations taking
IntPtrso it's easier to work with Marshal, etc.