@@ -26,10 +26,11 @@ public class PipelineFactory : IPipelineFactory
2626 private readonly IEncoder _encoder ;
2727 private readonly ISessionRefHolder _sessionRefHolder ;
2828 private readonly IEnumerable < RequestFilter > _requestFilters ;
29+ private readonly byte ? _delimiter ;
2930
3031 public PipelineFactory ( ISocketChannel channel , IDecoder decoder ,
3132 IEncoder encoder , INetworkClient clientSession ,
32- IOptions < ServerConfiguration > configuration , ISessionRefHolder sessionRefHolder , IEnumerable < RequestFilter > requestFilters )
33+ IOptions < ServerConfiguration > configuration , ISessionRefHolder sessionRefHolder , IEnumerable < RequestFilter > requestFilters , byte ? delimiter )
3334 {
3435 _channel = channel ;
3536 _decoder = decoder ;
@@ -38,6 +39,7 @@ public PipelineFactory(ISocketChannel channel, IDecoder decoder,
3839 _configuration = configuration ;
3940 _sessionRefHolder = sessionRefHolder ;
4041 _requestFilters = requestFilters ;
42+ _delimiter = delimiter ;
4143 }
4244
4345 public void CreatePipeline ( )
@@ -50,10 +52,13 @@ public void CreatePipeline()
5052 pipeline . AddLast ( filter ) ;
5153 }
5254
53- pipeline . AddLast ( new DelimiterBasedFrameDecoder ( 8192 , new [ ]
55+ if ( _delimiter != null )
5456 {
55- Unpooled . WrappedBuffer ( new [ ] { ( byte ) 65 } )
56- } ) ) ;
57+ pipeline . AddLast ( new DelimiterBasedFrameDecoder ( 8192 , new [ ] {
58+ Unpooled . WrappedBuffer ( new [ ] { ( byte ) _delimiter } )
59+ } ) ) ;
60+ }
61+
5762 pipeline . AddLast ( _decoder ) ;
5863 _clientSession . RegisterChannel ( _channel ) ;
5964 pipeline . AddLast ( _clientSession ) ;
0 commit comments