public HarvesterListener(String initalizeData) { initalizeData = initalizeData ?? String.Empty; machineName = Environment.MachineName; domain = AppDomain.CurrentDomain.FriendlyName; var parsedInitializeData = ParseInitializationData(initalizeData); var binding = parsedInitializeData.ContainsKey("Binding") ? parsedInitializeData["Binding"] : @"\\.\pipe\Harvester"; var mutexName = parsedInitializeData.ContainsKey("Mutex Name") ? parsedInitializeData["Mutex Name"] : "HarvesterMutex"; var bufferType = parsedInitializeData.ContainsKey("Buffer Type") ? parsedInitializeData["Buffer Type"] : "NamedPipeBuffer"; switch (bufferType) { case "SharedMemoryBuffer": messageBuffer = new SharedMemoryBuffer(binding, OutputDebugString.BufferSize); messageWriter = new OutputDebugStringWriter(mutexName, messageBuffer); break; case "NamedPipeBuffer": messageBuffer = new NamedPipeClientBuffer(".", binding); messageWriter = new PipeMessageWriter(mutexName, messageBuffer); break; default: throw new NotSupportedException(String.Format(Localization.BufferTypeNotSupported, bufferType)); } }
/// <summary> /// Initializes a new instance of <see cref="HarvesterListener"/>. /// </summary> /// <param name="initializeData">The message buffer initialization string (i.e., Binding=\\.\pipe\Harvester; Buffer Type=NamedPipeBuffer; Mutex Name=HarvesterMutex;)</param> public HarvesterListener(String initializeData) { var parsedInitializeData = ParseInitializationData(initializeData ?? String.Empty); var binding = parsedInitializeData.ContainsKey("Binding") ? parsedInitializeData["Binding"] : @"\\.\pipe\Harvester"; var mutexName = parsedInitializeData.ContainsKey("Mutex Name") ? parsedInitializeData["Mutex Name"] : "HarvesterMutex"; var bufferType = parsedInitializeData.ContainsKey("Buffer Type") ? parsedInitializeData["Buffer Type"] : "NamedPipeBuffer"; captureIdentity = !parsedInitializeData.ContainsKey("Capture Identity") || Boolean.Parse(parsedInitializeData["Capture Identity"]); switch (bufferType) { case "SharedMemoryBuffer": messageBuffer = new SharedMemoryBuffer(binding, OutputDebugString.BufferSize); messageWriter = new OutputDebugStringWriter(mutexName, messageBuffer); break; case "NamedPipeBuffer": messageBuffer = new NamedPipeClientBuffer(".", binding); messageWriter = new PipeMessageWriter(mutexName, messageBuffer); break; default: throw new NotSupportedException(String.Format(Localization.BufferTypeNotSupported, bufferType)); } }
public WhenWritingToOpenBuffer() { pipeName = @"\\.\pipe\" + Guid.NewGuid(); buffer = new NamedPipeClientBuffer(".", pipeName) { Timeout = TimeSpan.FromMilliseconds(250) }; serverPipeStream = new NamedPipeServerStream(pipeName, PipeDirection.InOut); }
public WhenReadingFromBuffer() { buffer = new NamedPipeClientBuffer(); }
public WhenWritingToClosedBuffer() { var pipeName = @"\\.\pipe\" + Guid.NewGuid(); buffer = new NamedPipeClientBuffer(".", pipeName) { Timeout = TimeSpan.FromMilliseconds(250) }; }
public WhenDisposingBuffer() { buffer = new NamedPipeClientBuffer(); }
public WhenDisposingBuffer() { buffer = new NamedPipeServerBuffer(); }
public WhenCreatingBuffer() { pipeName = @"\\.\pipe\" + Guid.NewGuid(); buffer = new NamedPipeServerBuffer(pipeName, "Everyone"); }
public WhenReadingFromBuffer() { pipeName = @"\\.\pipe\" + Guid.NewGuid(); buffer = new NamedPipeServerBuffer(pipeName, "Everyone"); clientPipeStream = new NamedPipeClientStream(".", pipeName, PipeDirection.InOut); }
public WhenWritingToBuffer() { var pipeName = @"\\.\pipe\" + Guid.NewGuid(); buffer = new NamedPipeServerBuffer(pipeName, "Everyone"); }