Commit Graph

36 Commits

Author SHA1 Message Date
copilot-swe-agent[bot]
f1879733b6 Consolidate exception handling for better maintainability
- Combine catch blocks since all exceptions are handled identically
- Improve code clarity with more descriptive comments

Co-authored-by: aleks-f <2429093+aleks-f@users.noreply.github.com>
2025-12-08 02:04:21 +00:00
copilot-swe-agent[bot]
ca9b05072a Refine exception handling for TCP_NODELAY configuration
- Catch specific exception types (NetException, IOException, InvalidArgumentException)
  instead of broad Poco::Exception
- Improve error handling comments for clarity

Co-authored-by: aleks-f <2429093+aleks-f@users.noreply.github.com>
2025-12-08 02:03:16 +00:00
copilot-swe-agent[bot]
8a3b177c5c Address code review feedback
- Avoid unnecessary SocketAddress object construction by calling family() directly
- Use specific exception type (Poco::Exception) instead of catch-all

Co-authored-by: aleks-f <2429093+aleks-f@users.noreply.github.com>
2025-12-08 01:58:26 +00:00
copilot-swe-agent[bot]
47583fba30 Fix WebSocket sendFrame delay by enabling TCP_NODELAY
- Enable TCP_NODELAY in WebSocketImpl constructor to prevent Nagle's algorithm
  from buffering small WebSocket frames
- Add check to skip TCP_NODELAY for Unix domain sockets
- Add documentation about TCP_NODELAY behavior to WebSocket class
- Tested with existing WebSocket test suite - all tests pass

Co-authored-by: aleks-f <2429093+aleks-f@users.noreply.github.com>
2025-12-08 01:55:19 +00:00
Günter Obiltschnig
7dd2024c9e fix(Net): WebSocket receiveFrame() keeps returning the same frame when no payload (flags/header only) #4884 2025-02-27 20:52:02 +01:00
Günter Obiltschnig
705403d4f6 fix(Net): WebSocket: non-blocking receiveFrame()/receiveBytes() with TLS connection may get stuck receiving header #4850 2025-01-15 21:36:36 +01:00
Matthew Stoltenberg
0cc3ab4d13 fix(Net) bad mask with odd number of bytes
Receiving an odd number of bytes in non-blocking mode results in using the wrong bytes to unmask the payload. Keep track of the number of payload bytes that have been unmasked.
2025-01-06 16:57:25 -07:00
Günter Obiltschnig
1811f2f35c fix(NetSSL): shutdown behavior 2024-11-28 08:19:45 +01:00
Günter Obiltschnig
cedd086362 feat(Net): Non-blocking WebSocket #4773 2024-11-16 16:49:50 +01:00
Aleksandar Fabijanic
e40f07099d fix(Net): Add Unix socket support on windows #4208 (#4209)
* fix(Net): Add Unix socket support on windows #4208

* feat(Net): add abstract local socket support #4208

* fix(PollSet): use localhost socket in PollSet on windows when available #4208

* fix(PollSetTest): comment checking unconnected sockets status (Linux epoll signals them as readable/writable)
2023-10-23 13:33:46 +02:00
R. Savchenko
079b50e0c1 Guard NOMINMAX ifdef (#3906) 2023-01-24 00:42:43 -06:00
Günter Obiltschnig
b30bebffb0 merge WebSocket fixes from devel 2021-04-11 16:46:48 +02:00
Günter Obiltschnig
2086a497f5 fix for Windows (add #define NOMINMAX) 2019-05-16 14:16:09 +02:00
Günter Obiltschnig
16f63eed0a WebSocket: allow setting the maximum payload size for receiving frames 2019-05-16 08:43:46 +02:00
Simon Gorše
f59077d0f0 Fixed WebSocket error message formatting. 2018-09-04 21:27:21 +02:00
Aleksandar Fabijanic
c4e676d36d Feature net udp (#2347)
* add PMTU discovery #2329

* add socket gather/scatter capabilities #2330 (win, udp)

* enable WSAPoll

* add FastMemoryPool

* add receiveFrom() with native args

* allow copying of StringTokenizer

* add AtomicFlag and SpinlockMutex

* update .gitignore

* UDPServer and client #2343 (windows)

* fix warnings

* fix warnings

* regenerate Net VS solutions

* regenerate CppUnit projects/solutions

* clang fixes

* gcc fixes

* try to fix travis

* more travis fixes

* more travis fixes

* handle UDPClient exception

* fix makefiles and init order warnings

* add UNIX gather/scatter sendto/recvfrom implementations and tests

* run travis tests as sudo

* try to run tests as sudo, 2nd attempt

* fix warning

* use mutex in reactor

* lock-order-inversion in SocketReactor #2346

* add PMTU discovery #2329 (linux)

* ICMPSocket does not check reply address #1921

* remove some ignored tests

* add PMTU discovery #2329 (reconcile logic with #1921)

* fix native receiveFrome()

* reinstate ignoring of proxy errors

* add testMTU to ignore list

* add include atomic

* NTPClient not checking reply address #2348

* some ICMP/MTU fixes

* UDPSocketReader cleanup

* resolve some socket inheritance warnings

* add NTP time sync to ignored tests

* SocketNotifier not thread-safe #2345

* prevent x64 samples build attempt for win32

* build TestApp and Library

* fix ICMP tests

* regen VS projects

* regen VS projects and add missing 2012 files

* remove debug prints
2018-06-02 14:02:33 -05:00
Guenter Obiltschnig
7f17dfcc83 additonal fix for GH #1212: WebSocketImpl::available() now reports number of bytes in internal buffer. 2017-11-07 13:50:30 +01:00
Guenter Obiltschnig
a460bafa70 merge Unix Domain Sockets support and other changes from develop 2017-10-31 16:53:06 +01:00
Alex Fabijanic
57bc179db5 FTPClientSession::close() error? #1880 2017-10-30 11:19:54 -05:00
Günter Obiltschnig
04e7e04d4d Remove \$Id`$ headers 2017-09-09 11:14:06 +02:00
Guenter Obiltschnig
65626774e1 fixed GH #1212: Lost WebSocket Frames after Client Websocket Handshake is complete 2017-01-12 15:59:15 +01:00
Guenter Obiltschnig
4e375945f9 fix: need an implementation of available() for WebSocketImpl 2015-09-18 22:42:49 +02:00
Guenter Obiltschnig
cd67863852 #550 WebSocket fragmented message problem 2014-10-02 20:24:50 +02:00
Guenter Obiltschnig
544229302e #538 prevent destructors from throwing exceptions 2014-09-19 09:46:49 +02:00
Roger Meier
b0581433a7 LICENSE: add info about SPDX-License-Identifier usage and use it
fix: remove executable flag and change back to 100644 (was 100755)

Signed-off-by: Roger Meier <r.meier@siemens.com>
2014-05-14 08:38:09 +02:00
Roger Meier
628a06f718 LICENSE: add info about SPDX-License-Identifier usage and use it
Signed-off-by: Roger Meier <roger@bufferoverflow.ch>
2014-05-04 21:02:42 +02:00
Guenter Obiltschnig
8f07db4aa3 various fixes - see CHANGELOG 2013-11-14 21:54:41 +01:00
Guenter Obiltschnig
cab19b21a4 improved WebSocket closing behavior 2013-06-25 13:56:28 +02:00
Guenter Obiltschnig
1f8fcaacc0 WebSocketImpl::sendBytes() now uses FRAME_BINARY if given flags are all zero. 2013-05-26 00:15:54 +02:00
aleks-f
03530311b8 GH71: WebSocket and broken Timeouts
fixed GH# 71: WebSocket and broken Timeouts (POCO_BROKEN_TIMEOUTS)
2013-02-26 22:39:17 -06:00
Guenter Obiltschnig
e36800c76d - fixed SF# 594: Websocket fails with small masked payloads 2012-11-10 11:47:26 +01:00
Aleksandar Fabijanic
a221b14522 porting rev.1998 from 1.4.4 (except ODBC, which will be done later, and SQLite, which was ported in rev.1999) 2012-09-05 02:43:06 +00:00
Aleksandar Fabijanic
ae45a2d311 porting 1.4.4 rev. 1929, 1939 (SF# 3552680 et. al) 2012-08-23 04:27:50 +00:00
Aleksandar Fabijanic
d75e68c027 new trunk (base for 1.5)
windows build only
2012-04-23 01:14:34 +00:00
Aleksandar Fabijanic
f9b60296f7 removing old trunk files 2012-04-23 00:43:14 +00:00
Marian Krivos
d066518edd trunk: add websocket class 2012-02-05 12:29:46 +00:00