GithubHelp home page GithubHelp logo

eclipse-vertx / vert.x Goto Github PK

View Code? Open in Web Editor NEW
14.1K 533.0 2.0K 113.08 MB

Vert.x is a tool-kit for building reactive applications on the JVM

Home Page: http://vertx.io

License: Other

HTML 0.01% Java 100.00%
vertx java netty reactive jvm http2 concurrency high-performance nio non-blocking event-loop

vert.x's Introduction

Build Status (5.x) Build Status (4.x)

Vert.x Core

This is the repository for Vert.x core.

Vert.x core contains fairly low-level functionality, including support for HTTP, TCP, file system access, and various other features. You can use this directly in your own applications, and it's used by many of the other components of Vert.x.

For more information on Vert.x and where Vert.x core fits into the big picture please see the website.

Building Vert.x artifacts

> mvn package

Running tests

Runs the tests

> mvn test

Tests can be run with specified HTTP port and/or HTTPS port.

> mvn test -Dvertx.httpPort=8888 -Dvertx.httpsPort=4044

Vert.x supports native transport on BSD and Linux, to run the tests with native transport

> mvn test -PtestNativeTransport

Vert.x supports domain sockets on Linux exclusively, to run the tests with domain sockets

> mvn test -PtestDomainSockets

Vert.x has a few integrations tests that run a differently configured JVM (classpath, system properties, etc....) for ALPN, native and logging

> vertx verify -Dtest=FooTest # FooTest does not exists, its only purpose is to execute no tests during the test phase

Building documentation

> mvn package -Pdocs -DskipTests

Open target/docs/vertx-core/java/index.html with your browser

vert.x's People

Contributors

alexlehm avatar cavallium avatar cescoffier avatar dachaac avatar franz1981 avatar gaol avatar hakky54 avatar jo5ef avatar jponge avatar julianladisch avatar liluxdev avatar liuchong avatar lukehutch avatar mmopenet avatar nilsrenaud avatar normanmaurer avatar nscavell avatar percyashu avatar pmlopes avatar purplefox avatar ruslansennov avatar sammers21 avatar slinkydeveloper avatar testn avatar theoweiss avatar tsegismont avatar vietj avatar xkr47 avatar zenios avatar zyclonite avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

vert.x's Issues

Support hybi-10 websockets

hybi-10 is now supported by IE, Thunderbird and Chrome.

We need to update our implementation to hybi-10 so it works (the current impl now won't work with the latest version of Chrome)

Someone has made a pull request in Netty here:

netty/netty#26

We should take a look and merge it into our forked Netty.

HTTP module

Complete this.

Remaining to do:

  1. HTTPS
  2. Cookies
  3. Pipelining test currently commented out
  4. Some missing tests, including: chaining methods, multiple connections, pause/resume
  5. Write some examples including: Websockets, sendfile, POST/PUT example

Small error on website.

On this page: http://vertx.io/wsver-0002/ruby_web_tutorial.html in step 4 ("Get the persistor up and running") there is the following line which isn't grammatically correct and a bit confusing.

Vert.x ships with an out of the box bus module (busmod) called MongoPersistor. This is a busmod is component which communicates with other components on the vert.x event bus by exchanging JSON messages.

I think it should be more like the following?

Vert.x ships with an out-of-the-box bus module (busmod) called MongoPersistor.  A busmod is a component which communicates with other components on the vert.x event bus by exchanging JSON messages.

Shared data structures

Complete these with associated tests. We should accept any value that's a primitive type, String, or implements the Threadsafe interface

Web framework

We should write a super lightweight framework in the style of sinatra/express that can be layered on top of core HTTP.

Correct erroneous SockJS iframe and HtmlFile html

Due to the overzealous nature of IntelliJ refactoring, the string 'body' was renamed to 'payload' in multiple places in the project, including some of the static html used by SockJS.

This may cause SockJS to fail to work with all transports.

This effects vertx-1.0.0.beta2

Spawn module

Module for spawning processes and capturing their input output streams etc

File module

Implement this.

Initially use new Java 7 async file IO.

SockJS bridge always using websockets

Due to an error in the way handlers are applied in DefaultSockJSBridge, it means that only websockets will work for all sockJS transport.

This is because the bridge is applying a catch all handler for all requests which wipes out any non websockets handlers applied by the sock js server.

This effects 1.0.0.beta2

Vert.x core library

Produce a vert.x core library as part of the distribution.

This can be used embedded in any Java application.

Composition

Complete this.

Consider renaming when() and provide other ways of composing. Update methods in other modules to return Completions as appropriate

If no -cluster-host is specified 0.0.0.0 is used

If you are running vert.x in clustered mode and do not specify -cluster-host, it will default to 0.0.0.0 which means if you have multiple nodex running on the network they won't see each other (since they try to connect to the others at 0.0.0.0).

Workaround is to always specify -cluster-host when running clustered.

Package manager

We need to create a package manager for node.x

We should also host a public repository (e..g on Amazon) where people can upload and download modules.

All modules other than core should be managed via the package manager.

Buffer module

Complete this module.

Consider adding methods for getting, setting and appending primitive types.

Test remains to be done.

Connection pooling

Asynchronous connection pool will be needed for:

Net, HTTP, AMQP, Redis etc

Net module

Complete the Net module.

Remaining to do:

  1. SSL support
  2. Sendfile

test fails

Hi running tests (with gradle or with ant) fails at org.vertx.tests.core.file.FileSystemTest
getting null as message for all fails. I am on ubuntu 11.10, using openjdk 1.7

Copy of the gradle report:
org.vertx.tests.core.file.FileSystemTest
testMkdirWithParentsFails
testChmod
testMkdirCreateParents
testMkdirCreateParentsWithPerms
testCopyEmptyDir
testMkdirSimple

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.