public override void Run()
 {
     try
     {
         DomainSocket client             = DomainSocket.Connect(TestPath);
         OutputStream clientOutputStream = client.GetOutputStream();
         InputStream  clientInputStream  = client.GetInputStream();
         clientOutputStream.Write(clientMsg1);
         DomainSocket      domainConn = (DomainSocket)client;
         byte[]            in1        = new byte[serverMsg1.Length];
         FileInputStream[] recvFis    = new FileInputStream[passedFds.Length];
         int r = domainConn.RecvFileInputStreams(recvFis, in1, 0, in1.Length - 1);
         Assert.True(r > 0);
         IOUtils.ReadFully(clientInputStream, in1, r, in1.Length - r);
         Assert.True(Arrays.Equals(serverMsg1, in1));
         for (int i = 0; i < passedFds.Length; i++)
         {
             NUnit.Framework.Assert.IsNotNull(recvFis[i]);
             passedFiles[i].CheckInputStream(recvFis[i]);
         }
         foreach (FileInputStream fis in recvFis)
         {
             fis.Close();
         }
         client.Close();
     }
     catch (System.Exception e)
     {
         threadResults.AddItem(e);
     }
     threadResults.AddItem(new TestDomainSocket.Success());
 }
 public override void Run()
 {
     try
     {
         DomainSocket client = preConnectedSockets != null ? preConnectedSockets[1] : DomainSocket
                               .Connect(TestPath);
         TestDomainSocket.WriteStrategy writer = System.Activator.CreateInstance(writeStrategyClass
                                                                                 );
         writer.Init(client);
         writer.Write(clientMsg1);
         TestDomainSocket.ReadStrategy reader = System.Activator.CreateInstance(readStrategyClass
                                                                                );
         reader.Init(client);
         byte[] in1 = new byte[serverMsg1.Length];
         reader.ReadFully(in1, 0, in1.Length);
         Assert.True(Arrays.Equals(serverMsg1, in1));
         OutputStream clientOutputStream = client.GetOutputStream();
         clientOutputStream.Write(clientMsg2);
         client.Close();
     }
     catch (Exception e)
     {
         threadResults.AddItem(e);
     }
     threadResults.AddItem(new TestDomainSocket.Success());
 }
            public Void Call()
            {
                DomainSocket serverConn = null;

                try
                {
                    serverConn = serv.Accept();
                    byte[] buf = new byte[100];
                    for (int i = 0; i < buf.Length; i++)
                    {
                        buf[i] = 0;
                    }
                    if (closeDuringWrite)
                    {
                        try
                        {
                            while (true)
                            {
                                serverConn.GetOutputStream().Write(buf);
                            }
                        }
                        catch (IOException)
                        {
                        }
                    }
                    else
                    {
                        do
                        {
                        }while (serverConn.GetInputStream().Read(buf, 0, buf.Length) != -1);
                    }
                }
                catch (IOException e)
                {
                    throw new RuntimeException("unexpected IOException", e);
                }
                finally
                {
                    IOUtils.Cleanup(DomainSocket.Log, serverConn);
                }
                return(null);
            }
 /// <exception cref="System.IO.IOException"/>
 public virtual void Init(DomainSocket s)
 {
     outs = s.GetOutputStream();
 }