Esempio n. 1
0
 public int CreateReceiveSocket()
 {
     lock (_gate)
     {
         if (_state != State.Initial)
         {
             throw new InvalidOperationException($"Invalid operation: {_state}");
         }
         var pair            = Socket.CreatePair(AddressFamily.Unix, SocketType.Stream, ProtocolType.Unspecified, blocking: false);
         var updatedHandlers = new int[_handlers.Length + 1];
         Array.Copy(_handlers, updatedHandlers, _handlers.Length);
         updatedHandlers[updatedHandlers.Length - 1] = pair.Socket1;
         _handlers = updatedHandlers;
         return(pair.Socket2);
     }
 }
Esempio n. 2
0
 public int CreateReceiveSocket()
 {
     lock (_gate)
     {
         if (_state != State.Initial)
         {
             throw new InvalidOperationException($"Invalid operation: {_state}");
         }
         var pair            = Socket.CreatePair(AF_UNIX, SOCK_STREAM, 0, blocking: false);
         var updatedHandlers = new int[_handlers.Length + 1];
         Array.Copy(_handlers, updatedHandlers, _handlers.Length);
         updatedHandlers[updatedHandlers.Length - 1] = pair.Socket1;
         _handlers = updatedHandlers;
         return(pair.Socket2);
     }
 }