public Map meta() { if (m_meta == null) { try { if (fpod.m_meta != null) { m_meta = (Map)fpod.m_meta; } else { InStream input = new SysInStream(fpod.m_store.read("meta.props")); m_meta = (Map)input.readProps().toImmutable(); input.close(); } } catch (Exception e) { Err.dumpStack(e); m_meta = Sys.m_emptyStrStrMap; } } return(m_meta); }
public static Pod load(InStream @in) { FPod fpod = null; try { fpod = new FPod(null, null); fpod.readFully(new ZipInputStream(SysInStream.dotnet(@in))); } catch (Exception e) { throw Err.make(e).val; } string name = fpod.m_podName; lock (m_podsByName) { // check for duplicate pod name if (m_podsByName[name] != null) { throw Err.make("Duplicate pod name: " + name).val; } // create Pod and add to master table Pod pod = new Pod(fpod); m_podsByName[name] = pod; //new SoftReference(pod); return(pod); } }
public override InStream @in(Long bufSize) { try { System.IO.Stream stream = (m_file as FileInfo).OpenRead(); return(SysInStream.make(stream, bufSize)); } catch (System.IO.IOException e) { throw IOErr.make(e).val; } }
////////////////////////////////////////////////////////////////////////// // Documentation ////////////////////////////////////////////////////////////////////////// public string doc() { if (!m_docLoaded) { try { Stream input = fpod.m_store.read("doc/pod.fandoc"); if (input != null) { m_doc = SysInStream.make(input, Long.valueOf(1024L)).readAllStr(); } } catch (Exception e) { Err.dumpStack(e); } m_docLoaded = true; } return(m_doc); }
////////////////////////////////////////////////////////////////////////// // Handlers ////////////////////////////////////////////////////////////////////////// private void inHandler() { System.IO.Stream input = SysInStream.dotnet(m_in); System.IO.Stream output = m_proc.StandardInput.BaseStream; byte[] temp = new byte[256]; while (!m_proc.HasExited) { try { int n = input.Read(temp, 0, temp.Length); if (n < 0) { break; } output.Write(temp, 0, n); output.Flush(); } catch (System.Exception e) { Err.dumpStack(e); } } }
private Zip(InStream ins) { this.m_zipIn = new ZipInputStream(SysInStream.dotnet(ins)); }
public Map meta() { if (m_meta == null) { try { if (fpod.m_meta != null) m_meta = (Map)fpod.m_meta; else { InStream input = new SysInStream(fpod.m_store.read("meta.props")); m_meta = (Map)input.readProps().toImmutable(); input.close(); } } catch (Exception e) { Err.dumpStack(e); m_meta = Sys.m_emptyStrStrMap; } } return m_meta; }
internal void connected(TcpSocket fan) { IPEndPoint endPoint = m_dotnet.RemoteEndPoint as IPEndPoint; m_remoteAddr = IpAddrPeer.make(endPoint.Address); m_remotePort = endPoint.Port; m_in = SysInStream.make(new NetworkStream(m_dotnet), getInBufferSize(fan)); m_out = SysOutStream.make(new NetworkStream(m_dotnet), getOutBufferSize(fan)); }
public void close() { m_dotnet.Close(); m_in = null; m_out = null; m_closed = true; }
private void readPodMeta(FStore.Input input) { // handle sys bootstrap specially using just java.util.Properties string metaName; if ("sys" == m_podName) { Properties props = new Properties(); props.load(input); input.Close(); metaName = props.getProperty("pod.name"); m_podVersion = props.getProperty("pod.version"); m_fcodeVersion = props.getProperty("fcode.version"); m_depends = new Depend[0]; return; } else { SysInStream sysIn = new SysInStream(input); this.m_meta = (Map)sysIn.readProps().toImmutable(); sysIn.close(); metaName = meta("pod.name"); m_podVersion = meta("pod.version"); m_fcodeVersion = meta("fcode.version"); string dependsStr = meta("pod.depends").Trim(); if (dependsStr.Length == 0) m_depends = new Depend[0]; else { string[] toks = dependsStr.Split(';'); m_depends = new Depend[toks.Length]; for (int i=0; i<m_depends.Length; ++i) m_depends[i] = Depend.fromStr(toks[i].Trim()); } } // check meta name matches podName passed to ctor if (m_podName == null) m_podName = metaName; if (m_podName != metaName) throw new System.IO.IOException("Pod name mismatch " + m_podName + " != " + metaName); // sanity checking if (FConst.FCodeVersion != m_fcodeVersion) throw new System.IO.IOException("Invalid fcode version " + m_fcodeVersion); }
private static void loadPod(Hashtable index, string n, FileSystemInfo f) { ZipFile zip = new ZipFile(f.FullName); try { ZipEntry entry = zip.GetEntry("index.props"); if (entry != null) { SysInStream input = new SysInStream(new BufferedStream(zip.GetInputStream(entry))); addProps(index, input.readPropsListVals()); } } finally { zip.Close(); } }