internal bool Send(string message, DicomObject fragment) { //Logging.Log("Association.Send"); try { if (fragment.Size > this.packetSize) { Logging.Log(LogLevel.Error, "fragment exceeds packet size."); return(false); } MemoryStream memory = new MemoryStream(); fragment.Write(memory); NetworkStream output = new NetworkStream(socket, FileAccess.Write, false); byte[] bytes = memory.ToArray(); Dump(">> " + message, bytes); output.Write(bytes, 0, (int)memory.Length); State = (State != State.Closing) ? State.Waiting : State; } catch (Exception ex) { Logging.Log(LogLevel.Error, ex.Message); return(false); } return(true); }
internal bool SendPdu(ServiceClass service, string message, DicomObject pdu) { //Logging.Log("Association.SendPdu"); try { if (State == State.Aborted) { throw AbortException; } MemoryStream memory = new MemoryStream(); pdu.Write(memory); NetworkStream output = new NetworkStream(socket, FileAccess.Write, false); byte[] bytes = memory.ToArray(); Dump(">> " + message, bytes); if (service != null) { service.LastMessage = null; } output.Write(bytes, 0, (int)memory.Length); State = (State != State.Closing) ? State.Waiting : State; } catch (Exception ex) { Logging.Log(LogLevel.Error, ex.Message); throw; } return(true); }
private void Dump(string message, byte[] bytes) { if (bytes.Length > MaxPduSize / 20) { Logging.Log(LogLevel.Verbose, "Dump {0} bytes.", bytes.Length); } else { string text = DicomObject.ToText(bytes); text = message + "\r\n" + text; Logging.Log(LogLevel.Verbose, text.ToString()); } }
public static string Log(LogLevel level, string message, byte[] bytes) { string result = String.Empty; try { result = DicomObject.ToText(bytes); result = result + "\r\n" + result; result = Log(level, result); } catch { Debug.WriteLine("LoggingError:" + result); } return(result); }
public static string Log(DicomObject @object) { string result = String.Empty; try { if (@object != null) { result = Log(LogLevel.Dump, @object.GetType().Name, @object.ToArray()); } } catch { Debug.WriteLine("LoggingError:" + (string)((@object != null) ? @object.GetType().Name : "")); } return(result); }
public bool SendPdu(string message, DicomObject pdu) { return(association.SendPdu(this, message, pdu)); }