public void HandlePacket(Byte[] buf, int streamLength) { int len = MiniLzo.MiniLzo.Decompress(buf, original); InPacket iPacket = new InPacket(); iPacket.ForcedEncode(original, len); int repeat = 0; while (true) { if (iPacket.End()) { break; } int packetLen = iPacket.Decode16(); int totalPacketLen = (int)(packetLen + 2); String packet = iPacket.DecodeString(packetLen); _sw.Write("[{0}]\t", DateTime.Now.ToString("yyyyMMdd HH:mm:ss.fff")); _sw.Write(packet); _sw.Write("\r\n"); iPacket.AdvancePivot(totalPacketLen); ++repeat; } }
private void SetIndexOptionDataUsingYulchonData(InPacket iPacket) { // logger.Info("Option Data {0:n0}", ++_oDataCount)); short packetLen = iPacket.Decode16(); short totalPacketLen = (short)(packetLen + 2); const int nSize = 5; byte[] head = new byte[nSize]; iPacket.Decode(head, nSize); KrxPacketUtil.FutureOptionPacketType nType = KrxPacketUtil.GetFutureOptionPacketType(head); // 시간 Skip iPacket.SkipDecode(10); switch (nType) { case KrxPacketUtil.FutureOptionPacketType.Index_BidAsk: Handle_Index_Option_BidAsk_Raw(iPacket); break; case KrxPacketUtil.FutureOptionPacketType.Index_Contract: Handle_Index_Option_Contract_Raw(iPacket); break; case KrxPacketUtil.FutureOptionPacketType.Index_BidAsk_Contract: Handle_Index_Option_BidAsk_Contract_Raw(iPacket); break; default: // FormChannel.Error("Broken Packet in RMDManager::SetMarketData..."); break; } iPacket.AdvancePivot(totalPacketLen); }
private void HandleDefaultData(InPacket iPacket) { short packetLen = iPacket.Decode16(); iPacket.SkipDecode(packetLen); iPacket.AdvancePivot(); }
private void SetIndexFutureDataUsingYulchonData(InPacket iPacket) { short packetLen = iPacket.Decode16(); short totalPacketLen = (short)(packetLen + 2); SetIndexFutureData_Raw(iPacket); iPacket.AdvancePivot(totalPacketLen); }