@@ -36,28 +36,16 @@ public class MQTTServerBinding : ServerBinding<MQTTServerBinding>
3636 /// <summary>
3737 /// Interval in seconds the broker maintains a session
3838 /// for a disconnected client until this interval expires.
39+ /// Either an <see cref="MQTTInteger"/> or an <see cref="MQTTIntegerSchema"/>.
3940 /// </summary>
40- public int ? SessionExpiryInterval
41- {
42- get => this . SessionExpiryIntervalValue ? . Integer ;
43- set => this . SessionExpiryIntervalValue = value . HasValue ? MQTTIntegerOrSchema . FromInteger ( value . Value ) : null ;
44- }
45-
46- /// <summary>The integer-or-schema session expiry interval value.</summary>
47- public MQTTIntegerOrSchema SessionExpiryIntervalValue { get ; set ; }
41+ public MQTTIntegerOrSchema SessionExpiryInterval { get ; set ; }
4842
4943 /// <summary>
5044 /// Number of bytes representing the maximum packet size
5145 /// the client is willing to accept.
46+ /// Either an <see cref="MQTTInteger"/> or an <see cref="MQTTIntegerSchema"/>.
5247 /// </summary>
53- public int ? MaximumPacketSize
54- {
55- get => this . MaximumPacketSizeValue ? . Integer ;
56- set => this . MaximumPacketSizeValue = value . HasValue ? MQTTIntegerOrSchema . FromInteger ( value . Value ) : null ;
57- }
58-
59- /// <summary>The integer-or-schema maximum packet size value.</summary>
60- public MQTTIntegerOrSchema MaximumPacketSizeValue { get ; set ; }
48+ public MQTTIntegerOrSchema MaximumPacketSize { get ; set ; }
6149
6250 public override string BindingKey => "mqtt" ;
6351
@@ -68,8 +56,8 @@ public int? MaximumPacketSize
6856 { "cleanSession" , ( a , n ) => { a . CleanSession = n . GetBooleanValue ( ) ; } } ,
6957 { "lastWill" , ( a , n ) => { a . LastWill = n . ParseMap ( LastWillFixedFields ) ; } } ,
7058 { "keepAlive" , ( a , n ) => { a . KeepAlive = n . GetIntegerValue ( ) ; } } ,
71- { "sessionExpiryInterval" , ( a , n ) => { a . SessionExpiryIntervalValue = MQTTIntegerOrSchema . Parse ( n ) ; } } ,
72- { "maximumPacketSize" , ( a , n ) => { a . MaximumPacketSizeValue = MQTTIntegerOrSchema . Parse ( n ) ; } } ,
59+ { "sessionExpiryInterval" , ( a , n ) => { a . SessionExpiryInterval = MQTTIntegerOrSchema . Parse ( n ) ; } } ,
60+ { "maximumPacketSize" , ( a , n ) => { a . MaximumPacketSize = MQTTIntegerOrSchema . Parse ( n ) ; } } ,
7361 } ;
7462
7563 private static FixedFieldMap < LastWill > LastWillFixedFields = new ( )
@@ -126,8 +114,8 @@ private void SerializeProperties(IAsyncApiWriter writer, AsyncApiVersion version
126114 writer . WriteOptionalProperty ( "cleanSession" , this . CleanSession ) ;
127115 writer . WriteOptionalObject ( "lastWill" , this . LastWill , ( w , l ) => l . Serialize ( w ) ) ;
128116 writer . WriteOptionalProperty ( "keepAlive" , this . KeepAlive ) ;
129- this . WriteIntegerOrSchema ( writer , "sessionExpiryInterval" , this . SessionExpiryIntervalValue , version ) ;
130- this . WriteIntegerOrSchema ( writer , "maximumPacketSize" , this . MaximumPacketSizeValue , version ) ;
117+ this . WriteIntegerOrSchema ( writer , "sessionExpiryInterval" , this . SessionExpiryInterval , version ) ;
118+ this . WriteIntegerOrSchema ( writer , "maximumPacketSize" , this . MaximumPacketSize , version ) ;
131119 writer . WriteOptionalProperty ( AsyncApiConstants . BindingVersion , this . BindingVersion ) ;
132120 writer . WriteExtensions ( this . Extensions ) ;
133121 writer . WriteEndObject ( ) ;
@@ -143,12 +131,13 @@ private void SerializeProperties(IAsyncApiWriter writer, AsyncApiVersion version
143131 /// <exception cref="ArgumentNullException">A value is present and <paramref name="writer"/> or <paramref name="name"/> is null.</exception>
144132 private void WriteIntegerOrSchema ( IAsyncApiWriter writer , string name , MQTTIntegerOrSchema value , AsyncApiVersion version )
145133 {
146- if ( value ? . LongInteger is long integer ) writer . WriteRequiredProperty ( name , integer ) ;
147- else if ( value ? . Schema != null ) writer . WriteOptionalObject ( name , value . Schema , ( w , schema ) =>
134+ if ( value == null )
148135 {
149- if ( version == AsyncApiVersion . AsyncApi2_0 ) schema . SerializeV2 ( w ) ;
150- else schema . SerializeV3 ( w ) ;
151- } ) ;
136+ return ;
137+ }
138+
139+ writer . WritePropertyName ( name ) ;
140+ value . Serialize ( writer , version ) ;
152141 }
153142 }
154143}
0 commit comments