Skip to content

[0.5.x-events] Events interface #189

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Nov 7, 2016

Conversation

NiteshKant
Copy link
Contributor

Problem

Insights into the internals of ReactiveSocket is not available for users. eg: Load balancing internals, leases sent/received, keep-alives sent/received, etc.

Modification

This change is first of a series of changes intended to address this problem. It only contains the core interfaces to support event publications from ReactiveSocket internals.

The model is adopted from the tried and tested model in RxNetty to provide an event publishing infrastructure that can be used to implement metrics of event firehose. One of the primary guideline of this model is to reduce the object allocations that comes along with an event stream based on emitting an event as an object. Instead, this approach embraces distinct callbacks that any listener can choose to implement if interested.

Primary classes are EventListener and EventSource. There are a few extensions of EventListener to provide events specific to a server, client or load balancer.

Result

Better insight into ReactiveSocket internals.

__Problem__

Insights into the internals of `ReactiveSocket` is not available for users. eg: Load balancing internals, leases sent/received, keep-alives sent/received, etc.

__Modification__

This change is first of a series of changes intended to address this problem. It only contains the core interfaces to support event publications from `ReactiveSocket` internals.

The model is adopted from the tried and tested model in `RxNetty` to provide an event publishing infrastructure that can be used to implement metrics of event firehose. One of the primary guideline of this model is to reduce the object allocations that comes along with an event stream based on emitting an event as an object. Instead, this approach embraces distinct callbacks that any listener can choose to implement if interested.

Primary classes are `EventListener` and `EventSource`. There are a few extensions of `EventListener` to provide events specific to a server, client or load balancer.

__Result__

Better insight into `ReactiveSocket` internals.
@NiteshKant
Copy link
Contributor Author

\cc @stevegury @rdegnan @robertroeser @yschimke @ktoso

These changes are targetted to a temporary branch 0.5.x-events , feedback is appreciated

@robertroeser robertroeser merged commit 1ded24c into rsocket:0.5.x-events Nov 7, 2016
NiteshKant added a commit to NiteshKant/reactivesocket-java that referenced this pull request Dec 14, 2016
__Problem__

Insights into the internals of `ReactiveSocket` is not available for users. eg: Load balancing internals, leases sent/received, keep-alives sent/received, etc.

__Modification__

This change is first of a series of changes intended to address this problem. It only contains the core interfaces to support event publications from `ReactiveSocket` internals.

The model is adopted from the tried and tested model in `RxNetty` to provide an event publishing infrastructure that can be used to implement metrics of event firehose. One of the primary guideline of this model is to reduce the object allocations that comes along with an event stream based on emitting an event as an object. Instead, this approach embraces distinct callbacks that any listener can choose to implement if interested.

Primary classes are `EventListener` and `EventSource`. There are a few extensions of `EventListener` to provide events specific to a server, client or load balancer.

__Result__

Better insight into `ReactiveSocket` internals.
NiteshKant added a commit to NiteshKant/reactivesocket-java that referenced this pull request Jan 4, 2017
__Problem__

Insights into the internals of `ReactiveSocket` is not available for users. eg: Load balancing internals, leases sent/received, keep-alives sent/received, etc.

__Modification__

This change is first of a series of changes intended to address this problem. It only contains the core interfaces to support event publications from `ReactiveSocket` internals.

The model is adopted from the tried and tested model in `RxNetty` to provide an event publishing infrastructure that can be used to implement metrics of event firehose. One of the primary guideline of this model is to reduce the object allocations that comes along with an event stream based on emitting an event as an object. Instead, this approach embraces distinct callbacks that any listener can choose to implement if interested.

Primary classes are `EventListener` and `EventSource`. There are a few extensions of `EventListener` to provide events specific to a server, client or load balancer.

__Result__

Better insight into `ReactiveSocket` internals.
NiteshKant added a commit that referenced this pull request Jan 4, 2017
__Problem__

Insights into the internals of `ReactiveSocket` is not available for users. eg: Load balancing internals, leases sent/received, keep-alives sent/received, etc.

__Modification__

This change is first of a series of changes intended to address this problem. It only contains the core interfaces to support event publications from `ReactiveSocket` internals.

The model is adopted from the tried and tested model in `RxNetty` to provide an event publishing infrastructure that can be used to implement metrics of event firehose. One of the primary guideline of this model is to reduce the object allocations that comes along with an event stream based on emitting an event as an object. Instead, this approach embraces distinct callbacks that any listener can choose to implement if interested.

Primary classes are `EventListener` and `EventSource`. There are a few extensions of `EventListener` to provide events specific to a server, client or load balancer.

__Result__

Better insight into `ReactiveSocket` internals.
NiteshKant added a commit that referenced this pull request Jan 9, 2017
__Problem__

Insights into the internals of `ReactiveSocket` is not available for users. eg: Load balancing internals, leases sent/received, keep-alives sent/received, etc.

__Modification__

This change is first of a series of changes intended to address this problem. It only contains the core interfaces to support event publications from `ReactiveSocket` internals.

The model is adopted from the tried and tested model in `RxNetty` to provide an event publishing infrastructure that can be used to implement metrics of event firehose. One of the primary guideline of this model is to reduce the object allocations that comes along with an event stream based on emitting an event as an object. Instead, this approach embraces distinct callbacks that any listener can choose to implement if interested.

Primary classes are `EventListener` and `EventSource`. There are a few extensions of `EventListener` to provide events specific to a server, client or load balancer.

__Result__

Better insight into `ReactiveSocket` internals.
ilayaperumalg pushed a commit to ilayaperumalg/rsocket-java that referenced this pull request Dec 26, 2017
* Stream Lifetime

Clarifying lifetime of streams, and what happens when the max 2^31-1 is hit.

* Update Protocol.md

Stream IDs can not be reused. Stream IDs live either until the transport lifetime ends, or if resumability is used, until the session ends.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants