Apache MINA is a network application framework which helps users

Overview
Apache MINA is a network application framework which helps users
develop high performance and high scalability network applications
easily.

=========
Compiling
=========

You need Apache maven 3.0 or more, Java 7 or more (both Oracle and OpenJDKshould work).

> mvn install

and you are done !

Refer to the examples in the examples sub projet or the documentation at http://mina.apache.org for more details.


=========
License
=========

See the LICENCE file.
Comments
  • [DIRMINA-1169] Fix unbinding a serverSocketChannel

    [DIRMINA-1169] Fix unbinding a serverSocketChannel

    Since Java 11, closing a ServerSocketChannel may release the socket only on the next select() call. If we try to register a new binding for an unbound socket before the next select, a BindException may be thrown.

    Ensure that there is a select() call between unbinding some sockets and binding new sockets. Mark the unbind futures as "done" only after that intervening select().

    Test plan:

    • check out this PR
    • replace NioSocketAcceptor by the 2.0.23 version
    • run the SocketAcceptorTest on a JVM 11 (or newer). It should fail with a BindException.
    • git reset --hard
    • run the SocketAcceptorTest on a JVM 11 (or newer) again. It should pass.

    Note that if SocketAcceptorTest is run on a JVM 8, it will succeed in either case.

    opened by tomaswolf 9
  • Fixed IoBuffer.Pointer.setPosition to work in O(1) instead of O(n) in the common case

    Fixed IoBuffer.Pointer.setPosition to work in O(1) instead of O(n) in the common case

    IoBuffer.Pointer.setPosition used to always iterate through the singly linked list starting from the very beginning. Here is a fix and a test to reproduce the issue.

    There are also some other small refactorings and javadoc fixes (that IntelliJ IDEA's static analysis found - you should try running it also for the rest of the project).

    P.S: org.apache.mina.codec.IoBuffer#mark is broken. I'll file an issue for that.

    opened by luontola 5
  • Bump protobuf-java from 2.5.0 to 3.16.3 in /protobuf

    Bump protobuf-java from 2.5.0 to 3.16.3 in /protobuf

    Bumps protobuf-java from 2.5.0 to 3.16.3.

    Release notes

    Sourced from protobuf-java's releases.

    Protobuf Release v3.16.3

    Java

    • Refactoring java full runtime to reuse sub-message builders and prepare to migrate parsing logic from parse constructor to builder.
    • Move proto wireformat parsing functionality from the private "parsing constructor" to the Builder class.
    • Change the Lite runtime to prefer merging from the wireformat into mutable messages rather than building up a new immutable object before merging. This way results in fewer allocations and copy operations.
    • Make message-type extensions merge from wire-format instead of building up instances and merging afterwards. This has much better performance.
    • Fix TextFormat parser to build up recurring (but supposedly not repeated) sub-messages directly from text rather than building a new sub-message and merging the fully formed message into the existing field.
    • This release addresses a Security Advisory for Java users

    Protocol Buffers v3.16.1

    Java

    • Improve performance characteristics of UnknownFieldSet parsing (#9371)

    Protocol Buffers v3.16.0

    C++

    • Fix compiler warnings issue found in conformance_test_runner #8189 (#8190)
    • Fix MinGW-w64 build issues. (#8286)
    • [Protoc] C++ Resolved an issue where NO_DESTROY and CONSTINIT are in incorrect order (#8296)
    • Fix PROTOBUF_CONSTINIT macro redefinition (#8323)
    • Delete StringPiecePod (#8353)
    • Fix gcc error: comparison of unsigned expression in '>= 0' is always … (#8309)
    • Fix cmake install on iOS (#8301)
    • Create a CMake option to control whether or not RTTI is enabled (#8347)
    • Fix endian.h location on FreeBSD (#8351)
    • Refactor util::Status (#8354)
    • Make util::Status more similar to absl::Status (#8405)
    • Fix -Wsuggest-destructor-override for generated C++ proto classes. (#8408)
    • Refactor StatusOr and StringPiece (#8406)
    • Refactor uint128 (#8416)
    • The ::pb namespace is no longer exposed due to conflicts.
    • Allow MessageDifferencer::TreatAsSet() (and friends) to override previous calls instead of crashing.
    • Reduce the size of generated proto headers for protos with string or bytes fields.
    • Move arena() operation on uncommon path to out-of-line routine
    • For iterator-pair function parameter types, take both iterators by value.
    • Code-space savings and perhaps some modest performance improvements in RepeatedPtrField.
    • Eliminate nullptr check from every tag parse.
    • Remove unused _$name$cached_byte_size fields.
    • Serialize extension ranges together when not broken by a proto field in the middle.
    • Do out-of-line allocation and deallocation of string object in ArenaString.

    ... (truncated)

    Commits
    • b8c2488 Updating version.json and repo version numbers to: 16.3
    • 42e47e5 Refactoring Java parsing (3.16.x) (#10668)
    • 98884a8 Merge pull request #10556 from deannagarcia/3.16.x
    • 450b648 Cherrypick ruby fixes for monterey
    • b17bb39 Merge pull request #10548 from protocolbuffers/3.16.x-202209131829
    • c18f5e7 Updating changelog
    • 6f4e817 Updating version.json and repo version numbers to: 16.2
    • a7d4e94 Merge pull request #10547 from deannagarcia/3.16.x
    • 55815e4 Apply patch
    • 152d7bf Update version.json with "lts": true (#10535)
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 0
  • workaround for Reproducible Builds

    workaround for Reproducible Builds

    XBean Spring produces non reproducible output, as seen when rebuilding Mina releases https://github.com/jvm-repo-rebuild/reproducible-central/blob/master/content/org/apache/mina/README.md

    waiting for XBean to fix the issue, we can do a workaround: detect and remove the timestamp

    then next Mina release will be fully Reproducible

    opened by hboutemy 0
  • Bump libthrift from 0.9.0 to 0.14.0 in /thrift

    Bump libthrift from 0.9.0 to 0.14.0 in /thrift

    Bumps libthrift from 0.9.0 to 0.14.0.

    Release notes

    Sourced from libthrift's releases.

    Version 0.14.0

    For release 0.14.0 head over to the official release download source: http://thrift.apache.org/download

    The assets below are added by Github based on the release tag and they may therefore not match the checkums.

    Version 0.13.0

    For release 0.13.0 head over to the official release download source: http://thrift.apache.org/download

    The assets below are added by Github based on the release tag and they may therefore not match the checkums.

    Version 0.12.0

    Apache Thrift Release 0.12.0

    Version 0.9.3.1

    This release is a backport of the security fix for CVE-2018-1320 as documented in THRIFT-4506. The only code change is in Java, and a 0.9.3-1 package was released to Maven Central.

    This is marked in GitHub as a pre-release so that it does not become the "latest" release.

    Changelog

    Sourced from libthrift's changelog.

    0.14.0

    Deprecated Languages

    Removed Languages

    • THRIFT-4980 - Remove deprecated C# and netcore bindings from the code base
    • THRIFT-4981 - Remove deprecated netcore bindings from the code base
    • THRIFT-4982 - Remove deprecated C# bindings from the code base

    Breaking Changes

    • THRIFT-4981 - Remove deprecated netcore bindings from the code base
    • THRIFT-4982 - Remove deprecated csharp bindings from the code base
    • THRIFT-4990 - Upgrade to .NET Core 3.1 (LTS)
    • THRIFT-5006 - Implement DEFAULT_MAX_LENGTH at TFramedTransport
    • THRIFT-5069 - In Go library TDeserializer.Transport is now typed *TMemoryBuffer instead of TTransport
    • THRIFT-5072 - Haskell generator fails to distinguish between multiple enum types with conflicting enum identifiers
    • THRIFT-5116 - Upgrade NodeJS to 10.x
    • THRIFT-5138 - Swift generator does not escape keywords properly
    • THRIFT-5164 - In Go library TProcessor interface now includes ProcessorMap and AddToProcessorMap functions.
    • THRIFT-5186 - cpp: use all getaddrinfo() results when retrying failed bind() in T{Nonblocking,}ServerSocket
    • THRIFT-5233 - go: Now all Read*, Write* and Skip functions in TProtocol accept context arg
    • THRIFT-5152 - go: TSocket and TSSLSocket now have separated connect timeout and socket timeout
    • c++: dropped support for Windows XP
    • THRIFT-5326 - go: TException interface now has a new function: TExceptionType
    • THRIFT-4914 - go: TClient.Call now returns ResponseMeta in addition to error

    Known Open Issues (Blocker or Critical)

    • THRIFT-3877 - C++: library don't work with HTTP (csharp server, cpp client; need cross test enhancement)
    • THRIFT-5098 - Deprecated: "The high level Network interface is no longer supported. Please use Network.Socket." and other Haskell issues
    • THRIFT-5245 - NPE when the value of map's key is null
    • THRIFT-4687 - Add thrift 0.12.0 to pypi and/or enable more maintainers

    Build Process

    • THRIFT-4976 - Docker build: Test failure for StalenessCheckTest on MacOS
    • THRIFT-5087 - test/test.py fails with "AssertionError: Python 3.3 or later is required for proper operation."
    • THRIFT-5097 - Incorrect THRIFT_VERSION in ThriftConfig.cmake
    • THRIFT-5109 - Misc CMake improvements
    • THRIFT-5147 - Add uninstall function
    • THRIFT-5218 - Automated Github release artifacts do not match checksums provided
    • THRIFT-5249 - travis-ci : Failed to run FastbinaryTest.py

    C glib

    ... (truncated)

    Commits
    • 8411e18 Version 0.14.0
    • 0be1b7d Version 0.14.0
    • 705f377 Version 0.14.0
    • ebfa771 THRIFT-5274: Enforce Java 8 compatibility
    • 518163a Update README.md
    • de523c7 Updated CHANGES to reflect Version 0.14.0
    • 7ae1ec3 THRIFT-5297: Improve TThreadPoolServer Handling of Incoming Connections
    • ebc2ab5 THRIFT-5345: Allow the ServerContext to be Unwrapped Programmatically
    • 55016bf THRIFT-5343: TTlsSocketTransport does not resolve IPv4 addresses or validate ...
    • 4aaef75 THRIFT-5337 Go set fields write improvement
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies 
    opened by dependabot[bot] 0
  • DIRMINA-1126 : filterWrite in ProtocolCodecFilter can send corrupted writeRequest message to the next filter

    DIRMINA-1126 : filterWrite in ProtocolCodecFilter can send corrupted writeRequest message to the next filter

    This change in 2.1.1 introduced new errors coming from clients that they can decode messages. More details in the task: https://issues.apache.org/jira/browse/DIRMINA-1126

    opened by amirkatzster 0
Owner
The Apache Software Foundation
The Apache Software Foundation
A network core plugin for the Spigot which best Experience for Minecraft Servers.

tCore The core plugin for Spigot. (Supports 1.8.8<=) 大規模サーバー、ネットワーク等の中核となるプラグインです。プロトコルバージョン 1.8 未満での動作は確認していません。かなりの量のソースになりますが、様々な機能が実装されています。中身自体は過

null 6 Oct 13, 2022
Tools for keeping your cloud operating in top form. Chaos Monkey is a resiliency tool that helps applications tolerate random instance failures.

PROJECT STATUS: RETIRED The Simian Army project is no longer actively maintained. Some of the Simian Army functionality has been moved to other Netfli

Netflix, Inc. 7.9k Jan 6, 2023
Pcap editing and replay tools for *NIX and Windows - Users please download source from

Tcpreplay Tcpreplay is a suite of GPLv3 licensed utilities for UNIX (and Win32 under Cygwin) operating systems for editing and replaying network traff

AppNeta, Inc. 956 Dec 30, 2022
A High Performance Network ( TCP/IP ) Library

Chronicle-Network About A High Performance Network library Purpose This library is designed to be lower latency and support higher throughputs by empl

Chronicle Software : Open Source 231 Dec 31, 2022
Simulating shitty network connections so you can build better systems.

Comcast Testing distributed systems under hard failures like network partitions and instance termination is critical, but it's also important we test

Tyler Treat 9.8k Dec 30, 2022
Lunar Network SoupPvP gamemode replica

SoupPvP Lunar Network SoupPvP gamemode replica Disclaimer This is a work-in-progress, for that reason, a lot of features and essential parts of Lunar'

Elb1to 64 Nov 30, 2022
Magician is an asynchronous non-blocking network protocol analysis package, supports TCP, UDP protocol, built-in Http, WebSocket decoder

An asynchronous non-blocking network protocol analysis package Project Description Magician is an asynchronous non-blocking network protocol analysis

贝克街的天才 103 Nov 30, 2022
JNetcat : a tool to debug network issues or simulate servers

JNetcat A tool to easily debug or monitor traffic on TCP/UDP and simulate a server or client No need of telnet anymore to test for a remote connection

io-panic 3 Jul 26, 2022
Intra is an experimental tool that allows you to test new DNS-over-HTTPS services that encrypt domain name lookups and prevent manipulation by your network

Intra Intra is an experimental tool that allows you to test new DNS-over-HTTPS services that encrypt domain name lookups and prevent manipulation by y

Jigsaw 1.2k Jan 1, 2023
VelocityControl is a BungeeControl-fork plugin enabling ChatControl Red to connect with your Velocity network.

VelocityControl is a BungeeControl-fork plugin enabling ChatControl Red to connect with your Velocity network.

Matej Pacan 10 Oct 24, 2022
Apache Dubbo is a high-performance, java based, open source RPC framework.

Apache Dubbo Project Apache Dubbo is a high-performance, Java-based open-source RPC framework. Please visit official site for quick start and document

The Apache Software Foundation 38.2k Dec 31, 2022
A networking framework that evolves with your application

ServiceTalk ServiceTalk is a JVM network application framework with APIs tailored to specific protocols (e.g. HTTP/1.x, HTTP/2.x, etc…) and supports m

Apple 805 Dec 30, 2022
Experimental Netty-based Java 16 application/web framework

Experimental Netty-based application/web framework. An example application can be seen here. Should I use this? Probably not! It's still incredibly ea

amy null 8 Feb 17, 2022
Book Finder application is a client-server application (gRPC) for educational purposes.

Book-Finder Book Finder application is a client-server application (gRPC) for educational purposes. Instalation These projects (Client/Server) are Mav

Mihai-Lucian Rîtan 21 Oct 27, 2022
Full-featured Socket.IO Client Library for Java, which is compatible with Socket.IO v1.0 and later.

Socket.IO-client Java This is the Socket.IO Client Library for Java, which is simply ported from the JavaScript client. See also: Android chat demo en

Socket.IO 5k Jan 4, 2023
BAIN Social is a Fully Decentralized Server/client system that utilizes Concepts pioneered by I2P, ToR, and PGP to create a system which bypasses singular hosts for data while keeping that data secure.

SYNOPSIS ---------------------------------------------------------------------------------------------------- Welcome to B.A.I.N - Barren's A.I. Natio

Barren A.I. Wolfsbane 14 Jan 11, 2022
A simple minecraft mod for 1.12.2 which logs sent and received packets.

Packet-Logger A simple minecraft mod for 1.12.2 which logs sent and received packets. Usage You must have Forge 1.12.2 installed. Download the jar fro

null 14 Dec 2, 2022
A simple Discord bot, which shows the server status of the Lost Ark server Beatrice

Beatrice A simple Discord bot, which shows the server status of the Lost Ark server Beatrice. Example Usage Clone the repository. Edit the property fi

Leon 3 Mar 9, 2022
Apache Thrift is a lightweight, language-independent software stack for point-to-point RPC implementation

Apache Thrift Introduction Thrift is a lightweight, language-independent software stack for point-to-point RPC implementation. Thrift provides clean a

The Apache Software Foundation 9.5k Jan 4, 2023