| Author |
[MINA] Filter Chain internals
|
|
| Ersin Er 2006-01-27, 8:47 pm |
| SGkgYWxsIGFuZCBwYXJ0aWN1bGFybHkgTUlOQSBm
b2xrcywKCkkgaGF2ZSBhIHF1ZXN0aW9uIGFi
b3V0IE1JTkEncyBJTyBGaWx0ZXIgQ2hhaW4gaW1w
bGVtZW50YXRpb24uIElmIGEKY2hhaW4gaXMg
Y29tcG9zZWQgb2YgZmlsdGVycyBhbmQgZXZlcnkg
ZmlsdGVyIChvciB0aGUgbWVzc2FnZSBpbiB0
aGUKZmlsdGVyKSBrbm93cyBhYm91dCBhIHNpbmds
ZSBuZXh0RmlsdGVyLCBob3cgaXMgTUlOQSBt
YWtpbmcgdGhlIGNoYWluCndvcmsgYm90aCBkaXJl
Y3Rpb25zPyBBIG5leHRGaWx0ZXIgZm9yIGEg
bWVzc2FnZVdyaXR0ZW4gbWV0aG9kIGFuZAptZXNz
YWdlUmVhZCBtZXRob2Qgc2hvdWxkIGJlIGRp
ZmZlcmVudCBsb2dpY2FsbHkuIFJpZ2h0PyBTbyBJ
IG5lZWQKc29tZSBleHBsYW5hdGlvbiBoZXJl
LgoKVGhhbmtzLgoKLS0KRXJzaW4K
| |
| Niklas Therning 2006-01-27, 8:47 pm |
| Ersin Er wrote:
> Hi all and particularly MINA folks,
>
> I have a question about MINA's IO Filter Chain implementation. If a
> chain is composed of filters and every filter (or the message in the
> filter) knows about a single nextFilter, how is MINA making the chain
> work both directions? A nextFilter for a messageWritten method and
> messageRead method should be different logically. Right? So I need
> some explanation here.
>
> Thanks.
>
> --
> Ersin
Hi,
I guess you mean messageReceived and filterWrite?
The NextFilter actually encapsulates both the next and previous filters
in the chain. When you call nextFilter.messageReceived()
messageReceived() will be called on the next filter. While when you call
nextFilter.filterWrite() filterWrite() will be called on the previous
filter.
/Niklas
| |
| Ersin Er 2006-01-27, 8:47 pm |
| T24gMS8yNS8wNiwgTmlrbGFzIFRoZXJuaW5nIDxu
aWtsYXNAdHJpbGxpYW4uc2U+IHdyb3RlOgo+
IEVyc2luIEVyIHdyb3RlOgo+ID4gSGkgYWxsIGFu
ZCBwYXJ0aWN1bGFybHkgTUlOQSBmb2xrcywK
PiA+Cj4gPiBJIGhhdmUgYSBxdWVzdGlvbiBhYm91
dCBNSU5BJ3MgSU8gRmlsdGVyIENoYWluIGlt
cGxlbWVudGF0aW9uLiBJZiBhCj4gPiBjaGFpbiBp
cyBjb21wb3NlZCBvZiBmaWx0ZXJzIGFuZCBl
dmVyeSBmaWx0ZXIgKG9yIHRoZSBtZXNzYWdlIGlu
IHRoZQo+ID4gZmlsdGVyKSBrbm93cyBhYm91
dCBhIHNpbmdsZSBuZXh0RmlsdGVyLCBob3cgaXMg
TUlOQSBtYWtpbmcgdGhlIGNoYWluCj4gPiB3
b3JrIGJvdGggZGlyZWN0aW9ucz8gQSBuZXh0Rmls
dGVyIGZvciBhIG1lc3NhZ2VXcml0dGVuIG1l
dGhvZCBhbmQKPiA+IG1lc3NhZ2VSZWFkIG1ldGhv
ZCBzaG91bGQgYmUgZGlmZmVyZW50IGxvZ2lj
YWxseS4gUmlnaHQ/ IFNvIEkgbmVlZAo+ID4gc29tZSBleHBsYW5hdGlv
biBoZXJlLgo+ID4KPiA+
IFRoYW5rcy4KPiA+Cj4gPiAtLQo+ID4gRXJzaW4K
Pgo+IEhpLAo+Cj4gSSBndWVzcyB5b3UgbWVh
biBtZXNzYWdlUmVjZWl2ZWQgYW5kIGZpbHRlcldy
aXRlPwoKQWggc29ycnksIEkgbWVhbnQgbWVz
c2FnZVJlY2VpdmVkIGFuZCBtZXNzYWdlU2VudC4K
Cj4gVGhlIE5leHRGaWx0ZXIgYWN0dWFsbHkg
ZW5jYXBzdWxhdGVzIGJvdGggdGhlIG5leHQgYW5k
IHByZXZpb3VzIGZpbHRlcnMKPiBpbiB0aGUg
Y2hhaW4uIFdoZW4geW91IGNhbGwgbmV4dEZpbHRl
ci5tZXNzYWdlUmVjZWl2ZWQoKQo+IG1lc3Nh
Z2VSZWNlaXZlZCgpIHdpbGwgYmUgY2FsbGVkIG9u
IHRoZSBuZXh0IGZpbHRlci4gV2hpbGUgd2hl
biB5b3UgY2FsbAo+IG5leHRGaWx0ZXIuZmlsdGVy
V3JpdGUoKSBmaWx0ZXJXcml0ZSgpIHdpbGwg
YmUgY2FsbGVkIG9uIHRoZSBwcmV2aW91cwo+IGZp
bHRlci4KCkFoIE9rLiBUaGVuIG5leHRGaWx0
ZXIgaXMgaW50ZXJwcmV0ZWQgZGlmZmVyZW50bHkg
Zm9yIHNwZWNpZmljIG1lc3NhZ2UKdHlwZXMu
IENvb2wgYXBwcm9hY2guCgpUaGFua3MgZm9yIHRo
ZSBhbnN3ZXIgYW5kIHRoZSBleGNlbGxlbnQg
YXJjaC4KCj4gL05pa2xhcwoKLS0KRXJzaW4K
|
|
|
|