Граф коммитов

199 Коммитов

Автор SHA1 Сообщение Дата
Johnny Z 68d2675008 ResourceLeakDetector 2017-11-17 11:58:59 -08:00
Max Gortman 58a82a0e3c set version to 0.4.7 2017-11-06 16:01:29 -08:00
Johnny Z 76660cafe7 Libuv channel read. 2017-11-06 14:31:48 -08:00
mastermanu eab3bb109b
Merge pull request #302 from nayato/listener
Adding InvalidArgument to closing socket errors
2017-11-06 09:55:18 -08:00
Max Gortman a758ec02cb Adding InvalidArgument to closing socket errors 2017-11-06 09:37:52 -08:00
alextolp 65b47356dd Make ReadListeningHandler thread-safe 2017-10-26 18:25:46 -07:00
SilverFox e6d9a7b95e Change name of prop `numHeapArenas` to match others and log output (#293)
`dotNetty.allocator.numHeapArenas` -> `io.netty.allocator.numHeapArenas`
2017-10-25 08:52:28 -07:00
SilverFox 81021cd71b Make it able to extends some FrameDecoder (#294) 2017-10-25 08:52:00 -07:00
Johnny Z 131db28613 Libuv based tcp transport. (#270) 2017-10-02 16:10:14 -07:00
SilverFox 37c756a64d Realigning API of IdleStateHandler, and some bugfix (#285)
* Align API and Test of IdleStateHandler with netty 4.1.15(f9003293...7460d90a)
* Fix EmbeddedChannel.ReleaseAll crashes when queue is null
* Fix ReadTimeoutHandler don't close channel when timeout
* Change IdleStateHandler.ChannelIdle and WriteTimeoutHandler.WriteTimedOut to virtual
2017-09-15 11:54:13 -07:00
Johnny Z 6b86b1b883 Re align with Netty buffers. (#287) 2017-09-15 11:32:11 -07:00
Max Gortman e43f012ad6 capping wait timeout to wake up for scheduled tasks (#281)
extra: fixes #273
2017-08-22 11:32:23 -07:00
Max Gortman 4ef2a0b2e7 Fix use after ownership loss issue.. (#280)
..with buffer list when asynchronously writing to socket in TcpSocketChannel.

extra: release buffer list content more aggressively.
2017-08-22 11:31:21 -07:00
Max Gortman f5c2ea1339 set version to 0.4.6 2017-08-02 15:39:00 -07:00
Max Gortman 9ff9ffbbfa Fixes #271, ... (#272)
+ not sharing ClosedChannelException
+ record release calls with resource leak detection
2017-08-02 14:53:11 -07:00
alewmt 09757abd89 Fixed change of channel writability (#266) 2017-07-16 01:21:44 -07:00
Max Gortman ec9820d747 Stop leaking unobserved task exceptions on internal CloseAsync usages (#264) 2017-07-13 17:08:57 -07:00
Max Gortman 05d127f935 TlsHandler drives handshake to completion with AutoRead=false (#263) 2017-07-13 16:44:12 -07:00
SilverFox 3e65c4c15e Always use uppercase for HexDump (#260) 2017-07-13 16:43:59 -07:00
Arsene Tochemey GANDOTE 9bede64025 Added virtaul keyword to the protected methods Formats of LoggingHandler (#259) 2017-06-29 14:07:38 -07:00
Max Gortman 2fee0b6831 set version 0.4.5 2017-05-17 16:39:52 -07:00
ScarletKuro e31fced6c0 Expanded Unpooled functionality. Ported UnpooledTest(#36) (#251)
Motivation:
Make code to be as close to the original to benefit from co-development
UnpooledTests is needed

Modifications:
- added Copy* and CopiedBuffer functions with params support to Unpooled
- added new constuctors with params support to Unpooled
- added CombineBytes to ByteBufferUtil
- constants in AbstractByteBufferAllocator are now public

Result:
- can now verify that the current Unpooled class works as intended
2017-05-16 14:07:07 -07:00
SilverFox b345bb0b02 Fix possible concurrently flush(#218) 2017-05-15 11:22:41 -07:00
Max Gortman 5865d225df Fixes #225
extra: flaky test fixes
2017-05-15 11:22:41 -07:00
SilverFox 5e42bcf81f Add Float and Zero api for IByteBuffer (#209) 2017-05-12 19:09:50 -07:00
ScarletKuro ee07830122 Implemented Medium, UnsignedMedium (#241) (#244)
Motivation:
In network programming the int24/uint24 is required in some cases

Modifications:
- added MediumUtil class to DotNetty.Common that provides ToMediumInt and ToUnsignedMediumInt
- added GetMedium, GetUnsignedMedium, SetMedium, ReadMedium, ReadUnsignedMedium, WriteUnsignedMedium, WriteMedium to IByteBuffer and their implementation in various buffers
- added SwapMedium to ByteBufferUtil

Result:
- int24/uint24 support
2017-05-12 11:47:14 -07:00
Max Gortman 95f79e1cd2 Porting HashedWheelTimer (#242)
Motivation:
It is a common task to manage various timeouts in networking code. Normal high precision timers usually trade performance for precision which is a flexible requirement with timeouts.

Modifications:
- added HashedWheelTimer
- moved RejectedExecutionException to Common.Concurrency

Result:
- users may choose to use HWT in their code to avoid contentions due to frequent timer management.
2017-05-12 02:35:28 -07:00
Damon Barry 5249d8de2a Make ReadOnlyByteBufferStream seekable (#247) 2017-05-08 17:24:23 -07:00
Santiago Castro 3ef7b618f9 Fix broken Markdown headings (#237) 2017-04-25 11:17:14 -07:00
mgortman a46b834b72 Set version to 0.4.4 2017-04-11 14:11:44 -07:00
Rajeev Vokkarne 25370bd0dd Change type of RemoteCertificate property in TlsHandler to X509Certificate2 (#231)
* Change type of RemoteCertificate property in TlsHandler to X509Certificate2

* Add null check for RemoteCertificate

* Address comments
2017-04-05 17:56:57 -07:00
Rajeev Vokkarne 91fd951af0 Add new API to retrieve client certificate in X509Certificate2 format (#230) 2017-04-05 16:46:25 -07:00
Johnny Z c79a974400 Changed unit test projects to NET452 required by xunit 2.2.0 (#229) 2017-04-05 10:16:33 -07:00
SilverFox a6636f2b7b Do some better log for debug (#217)
* Fix some log

* Warn about not-supported ChannelOption when bootstrap Channels.

See fac0ca8, cd9008f, bf08ed0 from netty/netty
2017-03-30 13:54:37 -07:00
Krishnendu Ghosh 1d988f8822 updated error message and little clean up in handler project (#224) 2017-03-30 13:52:06 -07:00
Krishnendu Ghosh 1d3eda9a74 SNI Support (ported netty SniHandler) (#219)
* First cut commit *unfinished

* Replace SNI handler with TlsHandler with certificate selected based on host name found in clientHello

* first cut tests for SniHandler

* test update

* Test update

* Supress further read when handler is replaced

* made the snitest more effective and IDN in hostname lower case as per netty impl

* More asserts to check whether snihandler gets replaces with tlshaldler in the pipeline

* assert server name is always found in clienthello as per the test setup

* Provided option to select default host name in case of error or client hello does not contail SNI extension, otherwise handshake fails in those cases

* More elaborate tests

* verbosity in test

* Fixed Read continues to get called after handler removed and removed the workaround in SniHandler

* relaced goto statement with flag for breaking outer for loop from within switch

* Update SniHandler.cs

* trigger CI build

* addressed review comments

* Fixed task continuation option

* addresses further review comments

* triggere build again with some more assert in test #221

* suppress read logic is still needed due to async "void"

*  changing the map to (string -> Task<ServerTlsSettings)

* one more constructor overload

* extensive tls read/write test is not needed since that's already done in tlshandler test

* more readable target host validation in test to force retrigger confusing CI build

* retrigger

* addressed review comment "this generates 30 random data frames. pls replace with new [] { 1 }"
2017-03-29 02:27:53 -07:00
mgortman 8357d8ed40 Set version to 0.4.3 2017-03-21 17:15:21 -07:00
Johnny Z 107a1c87b1 Follow up .NET tooling to upgraded packages to latest stable version
1. Microsoft.Extensions.Configuration from 1.1.0 to 1.1.1
2. Microsoft.Extensions.Logging from 1.1.0 to 1.1.1
3. Google.Protobuf from 3.1.0 to 3.2.0
4. Microsoft.NET.Test.Sdk from 15.0.0 preview to 15.0.0
5. XUnit to 2.2.0 release
6. Moq from alpha to 4.7.1
7. NBench from 0.3.4 to 1.0.0
2017-03-21 15:03:36 -07:00
mgortman 5c9f7c936e PBBA: use overall pool size instead of per-arena 2017-03-21 12:08:54 -07:00
mgortman 4ad4ffaf3c Fixes to examples, STEE loop failure handling
- Fixing examples following move to new csproj to load cert where it's placed
- Fixing STEE behavior when loop crashes
2017-03-09 19:00:56 -08:00
Max Gortman 5ac2fce46d Add ability to limit buffer pool memory capacity (#206)
Motivation:
If pool grows too fast OOM exception may happen.

Modifications:
- add limit on max memory capacity allocated per heap arena, after which allocations are unpooled.
- extra: log exceptions terminating executor loop

Result:
Users have option to limit size of buffer pool.
2017-03-09 19:00:56 -08:00
Alex Valuyskiy 00d656c533 Downgraded to net45 (#197) 2017-02-22 12:23:29 -08:00
SilverFox 26cb24a5e8 Fixes #194 (#198) 2017-02-17 10:27:19 -08:00
Max Gortman 52d1bf34d1 Migrating to new .Net Core RC tooling (#192) 2017-02-09 02:30:48 -08:00
Max Gortman 3767d89a1c new AffinitizedEventLoopGroup; Refining EE/G and EL/G API and docs (#189)
Motivation:
In proxy scenarios it is often important to avoid unnecessary switching between event loops while passing traffic from client and server and back.

Modifications:
- Added AffinitizedEventLoopGroup
- introduced IEventExecutor.Parent and IEventLoop.Parent
- better xml-docs for executors and event loops.
- extra: turned off xml-doc warning

Result:
Proxy scenario is better supported out of the box.
2017-02-02 12:25:42 -08:00
Artur Laksberg 5fb1c99379 Remove dependency on System.Diagnostics.Process (#188) 2017-01-30 17:02:20 -08:00
Max Gortman 1ba45abdcd set version to 0.4.1, minor example and PR build fixes (#186) 2017-01-26 14:19:11 -08:00
Artur Laksberg 4dab326ce1 Abstract platform-specific parts & demo UWP support (#183)
Motivation:
DotNetty is already working under .NET Core and full .NET Framework but support for other platforms (like UWP) is missing. It is important to have reach in that space as well.

Modifications:
- Thread-based functionality is modeled with Tasks (as threads are not part of supported .NET Standard 1.3).
- IPlatform / DefaultPlatform are added to abstract platform-dependent functionality not available across the board.
- UWP platform implementation is demonstrated in an example along StreamSocket-based Channel.

Result:
UWP support for DotNetty is easy to implement now. Basics for platform-dependent code are added making further development easier.
2017-01-19 12:58:01 -08:00
SilverFox 7b59ef72f1 Readds xml-doc for .NET Core build. Fixes #178 (#181) 2017-01-18 14:36:00 -08:00
Max Gortman 60feb3c4d4 Reformatting redis and proto buf codecs and UDP transport code. (#177) 2016-12-01 17:20:05 -08:00