Beispiel #1
0
 public INngResult <TSocket> Listen <TSocket>(INngResult <TSocket> socketRes, string url) where TSocket : ISocket
 {
     if (socketRes is NngOk <TSocket> ok)
     {
         var res = nng_listen(ok.Result.NngSocket, url, 0);
         if (res != 0)
         {
             return(NngResult.Fail <TSocket>(res));
         }
     }
     return(socketRes);
 }
Beispiel #2
0
 /// <summary>
 /// Creates a dialer or listener associated with a socket and starts it.
 /// </summary>
 /// <returns>The or listen.</returns>
 /// <param name="factory">Factory used to dial/listen.</param>
 /// <param name="socketRes">Socket the dialer/listener is associated with</param>
 /// <param name="url">URL used by dialer/listener</param>
 /// <param name="isListener">If set to <c>true</c> is listener, else is dialer</param>
 /// <typeparam name="TSocket">The 1st type parameter.</typeparam>
 /// <typeparam name="TMsg">The 2nd type parameter.</typeparam>
 public static INngResult <TSocket> DialOrListen <TSocket, TMsg>(this IAPIFactory <TMsg> factory, INngResult <TSocket> socketRes, string url, bool isListener)
     where TSocket : ISocket
 {
     if (socketRes is NngOk <TSocket> ok)
     {
         if (isListener)
         {
             return(factory.Listen <TSocket>(socketRes, url));
         }
         else
         {
             return(factory.Dial <TSocket>(socketRes, url));
         }
     }
     return(socketRes);
 }