@@ -156,48 +156,37 @@ private void Handle(object sender, NetMQSocketEventArgs socketEventArgs)
156
156
{
157
157
var monitorEvent = MonitorEvent . Read ( m_monitoringSocket . SocketHandle ) ;
158
158
159
- T GetArg < T > ( )
160
- {
161
- if ( monitorEvent . Arg is T v )
162
- return v ;
163
-
164
- if ( monitorEvent . Arg == null && default ( T ) == null )
165
- return default ( T ) ;
166
-
167
- throw new ArgumentException ( $ "Command argument must be of type { typeof ( T ) . Name } .") ;
168
- }
169
-
170
159
switch ( monitorEvent . Event )
171
160
{
172
161
case SocketEvents . Connected :
173
- InvokeEvent ( Connected , new NetMQMonitorSocketEventArgs ( this , monitorEvent . Addr , GetArg < AsyncSocket > ( ) , SocketEvents . Connected ) ) ;
162
+ InvokeEvent ( Connected , new NetMQMonitorSocketEventArgs ( this , monitorEvent . Addr , monitorEvent . ConvertArg < AsyncSocket > ( ) , SocketEvents . Connected ) ) ;
174
163
break ;
175
164
case SocketEvents . ConnectDelayed :
176
- InvokeEvent ( ConnectDelayed , new NetMQMonitorErrorEventArgs ( this , monitorEvent . Addr , ( ErrorCode ) GetArg < int > ( ) , SocketEvents . ConnectDelayed ) ) ;
165
+ InvokeEvent ( ConnectDelayed , new NetMQMonitorErrorEventArgs ( this , monitorEvent . Addr , ( ErrorCode ) monitorEvent . ConvertArg < int > ( ) , SocketEvents . ConnectDelayed ) ) ;
177
166
break ;
178
167
case SocketEvents . ConnectRetried :
179
- InvokeEvent ( ConnectRetried , new NetMQMonitorIntervalEventArgs ( this , monitorEvent . Addr , GetArg < int > ( ) , SocketEvents . ConnectRetried ) ) ;
168
+ InvokeEvent ( ConnectRetried , new NetMQMonitorIntervalEventArgs ( this , monitorEvent . Addr , monitorEvent . ConvertArg < int > ( ) , SocketEvents . ConnectRetried ) ) ;
180
169
break ;
181
170
case SocketEvents . Listening :
182
- InvokeEvent ( Listening , new NetMQMonitorSocketEventArgs ( this , monitorEvent . Addr , GetArg < AsyncSocket > ( ) , SocketEvents . Listening ) ) ;
171
+ InvokeEvent ( Listening , new NetMQMonitorSocketEventArgs ( this , monitorEvent . Addr , monitorEvent . ConvertArg < AsyncSocket > ( ) , SocketEvents . Listening ) ) ;
183
172
break ;
184
173
case SocketEvents . BindFailed :
185
- InvokeEvent ( BindFailed , new NetMQMonitorErrorEventArgs ( this , monitorEvent . Addr , ( ErrorCode ) GetArg < int > ( ) , SocketEvents . BindFailed ) ) ;
174
+ InvokeEvent ( BindFailed , new NetMQMonitorErrorEventArgs ( this , monitorEvent . Addr , ( ErrorCode ) monitorEvent . ConvertArg < int > ( ) , SocketEvents . BindFailed ) ) ;
186
175
break ;
187
176
case SocketEvents . Accepted :
188
- InvokeEvent ( Accepted , new NetMQMonitorSocketEventArgs ( this , monitorEvent . Addr , GetArg < AsyncSocket > ( ) , SocketEvents . Accepted ) ) ;
177
+ InvokeEvent ( Accepted , new NetMQMonitorSocketEventArgs ( this , monitorEvent . Addr , monitorEvent . ConvertArg < AsyncSocket > ( ) , SocketEvents . Accepted ) ) ;
189
178
break ;
190
179
case SocketEvents . AcceptFailed :
191
- InvokeEvent ( AcceptFailed , new NetMQMonitorErrorEventArgs ( this , monitorEvent . Addr , ( ErrorCode ) GetArg < int > ( ) , SocketEvents . AcceptFailed ) ) ;
180
+ InvokeEvent ( AcceptFailed , new NetMQMonitorErrorEventArgs ( this , monitorEvent . Addr , ( ErrorCode ) monitorEvent . ConvertArg < int > ( ) , SocketEvents . AcceptFailed ) ) ;
192
181
break ;
193
182
case SocketEvents . Closed :
194
- InvokeEvent ( Closed , new NetMQMonitorSocketEventArgs ( this , monitorEvent . Addr , GetArg < AsyncSocket > ( ) , SocketEvents . Closed ) ) ;
183
+ InvokeEvent ( Closed , new NetMQMonitorSocketEventArgs ( this , monitorEvent . Addr , monitorEvent . ConvertArg < AsyncSocket > ( ) , SocketEvents . Closed ) ) ;
195
184
break ;
196
185
case SocketEvents . CloseFailed :
197
- InvokeEvent ( CloseFailed , new NetMQMonitorErrorEventArgs ( this , monitorEvent . Addr , ( ErrorCode ) GetArg < int > ( ) , SocketEvents . CloseFailed ) ) ;
186
+ InvokeEvent ( CloseFailed , new NetMQMonitorErrorEventArgs ( this , monitorEvent . Addr , ( ErrorCode ) monitorEvent . ConvertArg < int > ( ) , SocketEvents . CloseFailed ) ) ;
198
187
break ;
199
188
case SocketEvents . Disconnected :
200
- InvokeEvent ( Disconnected , new NetMQMonitorSocketEventArgs ( this , monitorEvent . Addr , GetArg < AsyncSocket > ( ) , SocketEvents . Disconnected ) ) ;
189
+ InvokeEvent ( Disconnected , new NetMQMonitorSocketEventArgs ( this , monitorEvent . Addr , monitorEvent . ConvertArg < AsyncSocket > ( ) , SocketEvents . Disconnected ) ) ;
201
190
break ;
202
191
default :
203
192
throw new Exception ( "unknown event " + monitorEvent . Event ) ;
0 commit comments