Terrarium.PeerToPeer.NetworkEngine.GetValueFromContent C# (CSharp) Method

GetValueFromContent() public static method

Simple way to parse an XML tag for content. Doesn't confirm that the file is valid XML
public static GetValueFromContent ( string startTag, string endTag, string content ) : string
startTag string The start tag
endTag string The end tag
content string The content to be parsed.
return string
        public static string GetValueFromContent(string startTag, string endTag, string content)
        {
            var startIndex = content.IndexOf(startTag);
            string valueFromContent = null;

            if (startIndex > -1)
            {
                var lastIndex = startIndex + startTag.Length;
                var endIndex = content.IndexOf(endTag, lastIndex, content.Length - lastIndex);
                if (endIndex > -1)
                {
                    valueFromContent = content.Substring(lastIndex, endIndex - lastIndex);
                }
            }
            return valueFromContent;
        }

Usage Example

Beispiel #1
0
        private void sendAssemblyToPeer(string address, object state)
        {
            const int buffSize     = 4096;
            var       uploadBuffer = new byte[buffSize];
            var       theOrganism  = (TeleportState)state;
            var       assemblyName = ((Species)theOrganism.OrganismState.Species).AssemblyInfo.FullName;

            byte[] assemblyBuf;

            var req = checkToSeeIfPeerHasThisAssembly(address, assemblyName, out assemblyBuf);

            writeAssemblyNameToRequest(req, assemblyBuf);
            var assemblyVersionResponse = getAssemblyVersionResponse(req);

            sendAssemblyIfNecessary(buffSize, state, address, assemblyVersionResponse, uploadBuffer);
            req = sendObjectState(state, address);
            var response = sendRequest(req);

            _engine.WriteProtocolInfo("sendAssemblyToPeer: Organism state sent.");

            // Look for <organismArrived>false</organismArrived>, because that means the organism
            // didn't make it and should be teleported locally
            if (NetworkEngine.GetValueFromContent("<organismArrived>", "</organismArrived>", response) == "false")
            {
                var errorMessage = "The organism didn't arrive on their side for some reason.";
                if (NetworkEngine.GetValueFromContent("<reason>", "</reason>", response) != null)
                {
                    errorMessage = "The organism didn't arrive on the remote peer. " +
                                   NetworkEngine.GetValueFromContent("<reason>", "</reason>", response);
                }
                throw new AbortPeerDiscussionException(errorMessage);
            }

            return;
        }
All Usage Examples Of Terrarium.PeerToPeer.NetworkEngine::GetValueFromContent