be5a77acUse original request in CoapBlockStreamReadera543c9faCorrect the byte order in Block1/Block2 as it was backwards1455010bAdd BlockSWiseContext to share context between reading and writing blockwise operations7bae697bSplit CoapBlockStream into a Reader and Writer and make tests more modular52a52e5dOverride Equal method in Block1/Block248ae94c3Split CoapBlockStream into a Reader and Writer and make tests more modular6b533e27Use Latest C# language (7.1)0bcc74b9Override CoapBlockStream.WriteAsync to reduce buffer size while writing on slow transportsf46b15b8Add Equality to ContentFormatType81031ae8Add baseclass for each CoapOption type to support easier type matching Optionsa88e3065Fix Null excpetions being thrown when comparing CoapOptions with null valuesfe8f8928Expose SupportBlockSizes in Block1/2 and add documentation5a0b28b4Restore original ToString functionality and add debuggable format0da5483aFix CoapMesasgeIdentifier not matching when endpoints are differnt instances.47f3a85aAdd Value and Name property to ContentFormatType
d7c9d9c4Add CancellationToken argument to ICoapTransport Async methods
11841803Perform a stable sort on CoapMessage.Options
802fde24Bumping netstandard down from 1.4 to 1.3aaa6239dAdd extension methods for reading BlockWise messages7954c95bAllow reading CoapBlockStream if data is still buffered.
a38ad662Only finish flushing when there's nothing that can be immediatly written5af3fc57Attempt to read as much as possible before returningdedc10aaFix human-error NullReferenceException in CoapClockStreama1aea35bSupport reading block-wise from remote endpointfbf58787Add Block2/Block2 metadata to CoapMessage.ToString()8868be8fHousekeeping in Blockstream69c5c2e2Document Block1/Block2.BlockNumbera9e27bd5Add minimal documentation where it's missing8e5f96c0Document CoapBlockStreamcdfe0944Remove deadlock when disposing CoapBlockStream and introduve Timout5ed538d0Flush out the stream if there is any data5fcb12fdOnly attempt to restart smaller Block-Wise transfer on first blockab0549b6Attempt to send Block-Wise messages in smaller sizes on RequestEntittyTooLargef13b3ec8Allow advancing ByteQueue and Peeking blocks of data7e0bc60eHold onto values and decode/encode them only when needed.0e7219a9Exclude CoapBlockException from code coveragec2b6d446Support reduced block sizes in BlockWise Transfer439ca4e0Block on Flush and throw exceptions when writing in CoapBlockStream461c4e4eBegin support for RFC 7959 Block-Wise Transfers
fab984bcHeh, Debug.Assert gets removed in release builds...f6883b66Rename static method to prevent hidden overloadingf3019ff0Improve response matching with CoapMessageIdentifier768f50faBetter request and response matching in CoapClient71cffd71Add minimal documentation where it's missing74c4d6b0Add locks around CoapClient.Endpoint to prevent it being disposed unexpectedly3a5d05cbReturn a placeholder option to give the application chance at reading themf9eb87d2Include CoapMessageCode in CoapException.FromCoapMessagea900f1a7Add Reset to AsyncAutoResetEvent1c1c5c8dDocument CoapMessageCode properties30ea8d24Create CoapException from CoapMessage30d06ee7Throw a CoapEndpointException instead of InvalidOperationException47d31153Reject Confirmable Empty messagesc5da5f2dIgnore Acknowledge with invalid Code Class7272c345Ignore non-empty reset messages in CoapClient4b1958daIgnore repeated messages within a set TimeSpan on CoapClientccabaab3Forgot to add CoapMessageCodes back in0ac5f88aBetter exceptions for FromBytes4436a9f3Rename Serialise and Deserialise to ToBytes and FromBytes respectivelya99134c8Make OptionFactory a object
0c6788e1Give a chance to throw message exceptions after deserialising2c5ef861Account for SendAsyncInternal dealing with a volatile Endpoint Property6ed148a8Use ConcurrentQueue for message queuing in async
4945c5bPerform DNS queries on hostnames in CoapUdpEndpoint
c3b44eeDefault to multicast address in CoapUdpEndpoint2f453f5Allow selectively setting Uri componetns in CoapMessage.SetUrib8ef59aSending multicast CoAP messages are checked appropiatelye131344Replace FromUri with SetUri
a2cdf94Retarget .Net Standard 1.4 and 2.0 and export XML Doc
96b59c6CoAPNet.Udp support joinging IPv4 multicast groupsa16eeb9Improve CoRE Link-Format (de)serialising and deprecaterev
0c1e1cfRespond appropiately to unsupported content format option
c6111c0Split server classes into CoAPNet.Server to maintain zero dependency on CoAPNetc03d7afUse logging in server/client related classes885d0d2Include full uri in CORELink format when Authoraty does not match.
22ecd43Include Async handling of requests from CoapHandler and CoapResource
b3069b6Added Apache License 2.0
18e1f87Improve async operations in CoapClient1059530Remove CancellationToken from ICoapEndpoint45d9715Correctly decode uint options from bytes
98dad09Add Contructor overloads to CoapUdpEndPoint for simplicity4480168Include IP address in Coap Options.4480168Create CoapEndpoint for unknown endpoints
9037770Implemented a UDP example to use with NZSmartie.CoAPNet5340553Support building Core Link Format resources from CoapResourceMetadata
8e547daImplement better exception handling in CoapHandler330ade3Throw CoapOptionException when deserialising unsupported critical options
98e879fPass the requesting CoapMessage into Get/Put/Post/Delete methods in CoapResource
f568528Support message retransmission in CoapClient
069e9dcAdded (still Work in Progress) CoapHandler and CoapService with tests for handling incomming requests.