@startuml
skinparam stereotypeCBackgroundColor YellowGreen
class Runnable {
+{abstract} void Run()
}
class SoftSignalHandler {
+{abstract}void OnSoftSignal()
}
class ChannelService {
-void VerifyRemoveQueue()
-void Routine()
}
class Thread {
+void Start()
}
class Channel {
#bool DoBind()
#bool OnRead()
#bool OnWrite()
#bool DoFlush()
#bool DoClose()
#{static} void IOEventCallback()
}
'Runnable <|-- RunnableFunctor
'ChannelEvent ..> Channel
'ChannelEvent <|-- ExceptionEvent
'ChannelEvent <|-- ChannelStateEvent
'ChannelEvent <|-- MessageEvent
Runnable <|--- ChannelService
Runnable <|--- Thread
'Runnable <|--- FastCronTask
'Runnable <|--- SlowCronTask
Runnable <|--- Channel
Runnable <|--- CoroChannel
Thread <|-- CronThread
Thread <|-- ReplicationService
Channel <|-- SocketChannel
Channel <|-- PipeChannel
Channel <|-- TimerChannel
Channel <|-- SignalChannel
PipeChannel <|-- SoftSignalChannel
SocketChannel <|-- ServerSocketChannel
SocketChannel <|-- ClientSocketChannel
SocketChannel <|-- DatagramChannel
CronThread <|-- FastCronThread
CronThread <|-- SlowCronThread
SoftSignalHandler <|-- ChannelService
ChannelService <.. Server
ChannelService -- Channel
aeEventLoop <.. ChannelService
AsyncIOQueue <.. ChannelService
SoftSignalChannel <.. ChannelService
Master <.. ReplicationService
Slave <.. ReplicationService
class ChannelHandler {
+{abstract} bool HandleStreamEvent()
}
class ChannelUpstreamHandler {
#void ChannelBound()
#void ChannelConnected()
#void ChannelOpen()
#void ChannelWritable()
#void ExceptionCaught()
#void ChannelClosed()
#void MessageReceived()
}
CoroChannel <|-- CoroRedisClient
ChannelHandlerContext <... ChannelUpstreamHandler
ChannelHandler <|-- AbstractChannelHandler
AbstractChannelHandler <|-- ChannelDownstreamHandler
AbstractChannelHandler <|-- ChannelUpstreamHandler
ChannelUpstreamHandler <|--- RedisRequestHandler
ChannelUpstreamHandler <|--- SoftSignalChannel
ChannelUpstreamHandler <|--- StackFrameDecoder
ChannelUpstreamHandler <|--- FrameDecoder
ChannelUpstreamHandler <|--- FastRedisCommandDecoder
ChannelUpstreamHandler <|--- Slave
ChannelUpstreamHandler <|--- Master
ChannelUpstreamHandler <|--- CoroChannel
ChannelUpstreamHandler <|--- CoroRedisClient
class ChannelHandlerContext {
+SendUpstream()
+SendDownstream()
}
class ChannelPipeline {
+SendUpstream()
+SendDownstream()
}
ChannelHandlerContext <..> ChannelPipeline
ChannelHandlerContext ..> ChannelHandler
ChannelPipeline --* Channel
StackFrameDecoder <|--- UInt64FrameDecoder
StackFrameDecoder <|--- DelimiterBasedFrameDecoder
StackFrameDecoder <|--- RedisMessageDecoder
StackFrameDecoder <|--- RedisCommandDecoder
StackFrameDecoder <|--- RedisReplyDecoder
StackFrameDecoder <|--- RedisDumpFileChunkDecoder
StackFrameDecoder <|--- DirSyncDecoder
'exception <|-- Exception
'Exception <|-- APIException
@enduml
ardb 类图
最新推荐文章于 2024-07-11 16:43:37 发布