@@ -694,6 +694,35 @@ export default class RedisClient<
694
694
return commands ;
695
695
}
696
696
697
+ #attachListeners( socket : RedisSocket ) {
698
+ socket . on ( 'data' , chunk => {
699
+ try {
700
+ this . #queue. decoder . write ( chunk ) ;
701
+ } catch ( err ) {
702
+ this . #queue. resetDecoder ( ) ;
703
+ this . emit ( 'error' , err ) ;
704
+ }
705
+ } )
706
+ . on ( 'error' , err => {
707
+ this . emit ( 'error' , err ) ;
708
+ this . #clientSideCache?. onError ( ) ;
709
+ if ( this . #socket. isOpen && ! this . #options?. disableOfflineQueue ) {
710
+ this . #queue. flushWaitingForReply ( err ) ;
711
+ } else {
712
+ this . #queue. flushAll ( err ) ;
713
+ }
714
+ } )
715
+ . on ( 'connect' , ( ) => this . emit ( 'connect' ) )
716
+ . on ( 'ready' , ( ) => {
717
+ this . emit ( 'ready' ) ;
718
+ this . #setPingTimer( ) ;
719
+ this . #maybeScheduleWrite( ) ;
720
+ } )
721
+ . on ( 'reconnecting' , ( ) => this . emit ( 'reconnecting' ) )
722
+ . on ( 'drain' , ( ) => this . #maybeScheduleWrite( ) )
723
+ . on ( 'end' , ( ) => this . emit ( 'end' ) ) ;
724
+ }
725
+
697
726
#initiateSocket( ) : RedisSocket {
698
727
const socketInitiator = async ( ) => {
699
728
const promises = [ ] ,
@@ -725,33 +754,9 @@ export default class RedisClient<
725
754
}
726
755
} ;
727
756
728
- return new RedisSocket ( socketInitiator , this . #options?. socket )
729
- . on ( 'data' , chunk => {
730
- try {
731
- this . #queue. decoder . write ( chunk ) ;
732
- } catch ( err ) {
733
- this . #queue. resetDecoder ( ) ;
734
- this . emit ( 'error' , err ) ;
735
- }
736
- } )
737
- . on ( 'error' , err => {
738
- this . emit ( 'error' , err ) ;
739
- this . #clientSideCache?. onError ( ) ;
740
- if ( this . #socket. isOpen && ! this . #options?. disableOfflineQueue ) {
741
- this . #queue. flushWaitingForReply ( err ) ;
742
- } else {
743
- this . #queue. flushAll ( err ) ;
744
- }
745
- } )
746
- . on ( 'connect' , ( ) => this . emit ( 'connect' ) )
747
- . on ( 'ready' , ( ) => {
748
- this . emit ( 'ready' ) ;
749
- this . #setPingTimer( ) ;
750
- this . #maybeScheduleWrite( ) ;
751
- } )
752
- . on ( 'reconnecting' , ( ) => this . emit ( 'reconnecting' ) )
753
- . on ( 'drain' , ( ) => this . #maybeScheduleWrite( ) )
754
- . on ( 'end' , ( ) => this . emit ( 'end' ) ) ;
757
+ const socket = new RedisSocket ( socketInitiator , this . #options?. socket ) ;
758
+ this . #attachListeners( socket ) ;
759
+ return socket ;
755
760
}
756
761
757
762
#pingTimer?: NodeJS . Timeout ;
0 commit comments