GatewaySender AsyncEventQueue GemFireCacheImpl AbstractGatewaySender GatewayTransportFilter GatewaySenderAdvisor AsyncEventQueueImpl SerialAsyncEventQueueImpl AbstractGatewaySenderEventProcessor SerialGatewaySenderQueue SerialGatewaySenderEventProcessor GatewaySenderEventDispatcher AbstractRemoteGatewaySender RemoteSerialGatewaySenderEventProcessor GatewaySenderEventRemoteDispatcher SerialGatewaySenderImpl * * 1* 1*
GatewayReceiver GemFireCacheImpl GatewayReceiverImpl GatewayConflictResolver AbstractRegionEntry GatewayTransportFilter CacheServer *
Serial Gateway Sender Sequence LocalRegion LocalRegion AbstractGatewaySender AbstractGatewaySender SerialGatewaySenderEventProcessor SerialGatewaySenderEventProcessor RegionQueue RegionQueue GatewaySenderEventDispatcher GatewaySenderEventDispatcher AckReaderThread AckReaderThread distribute(event, dsid) filter, clone, stat enqueueEvent() put() loop[processQueue] peek() events filter, conflate dispatchBatch connect to receiverConnectionManagerImplcreateClientToServerConnection success? if AsyncQueue eventQueueRemove WAN Ack handler handleSuccessBatchAck eventQueueRemove
Locator Discovery Sequence InternalLocator InternalLocator WanLocatorDiscovererImpl WanLocatorDiscovererImpl RemoteLocatorJoinRequest RemoteLocatorJoinRequest LocatorDiscovery LocatorDiscovery LocatorHelper LocatorHelper LocatorMembershipListenerImpl LocatorMembershipListenerImpl distribute(event, dsid) discover() RemoteLocatorJoinRequest() exchangeRemoteLocators() addExchangedLocators() locatorJoined()
For anyone interested, there's a newer version of the article that goes deeper into the details: Asynchronous Event Distribution Internals.
1 Comment
Juan Ramos
For anyone interested, there's a newer version of the article that goes deeper into the details: Asynchronous Event Distribution Internals.