public void HandlePacket(Byte[] buf, int streamLength) { InPacket iPacket = new InPacket(); iPacket.ForcedEncode(buf, streamLength); RmdManager.Ins().SetMarketDataUsingKrxData(iPacket, RmdManager.MarketDataType.KOSPI_FUTURE); }
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; } }
public void HandlePacket(Byte[] buf, int streamLength) { InPacket iPacket = new InPacket(); iPacket.ForcedEncode(buf, streamLength); lock (_lock) { _board.SetData(iPacket); } }
public void HandlePacket(Byte[] buf, int streamLength) { InPacket iPacket = new InPacket(); iPacket.ForcedEncode(buf, streamLength); _bondBoard.SetData(iPacket); if (_bSave) { _data.Buffer.Add(new MarketDataRawPacket(streamLength, buf)); } }
public KBHTS_ReceiveData(long packetID, String inString) { this.PacketID = packetID; InPacket iPacket = new InPacket(); iPacket.ForcedEncode(inString); iPacket.SkipDecode(9); // 앞의 9자리 DecodeHeader(iPacket); DecodeBody(iPacket); }
RawMarketData Decode_Raw(String line, String targetCode) { // Decode time InPacket inPacket = new InPacket(); inPacket.ForcedEncode(line); String timeString = inPacket.DecodeString(24); DateTime curDateTime = DateTime.ParseExact(timeString, "[yyyyMMdd HH:mm:ss.fff]\t", null); RawMarketData rmd = Decode_Raw(inPacket, targetCode, curDateTime); return rmd; }
public void HandlePacket(int packetID, String pbPacket) { KBHTS hts = null; const int kInit_TraceIDRange = -1; lock (locker) { if (_map.ContainsKey(packetID)) { hts = _map[packetID]; // remove는 최종 패킷까지 받거든 할 것 // _map.Remove(packetID); } else { if (packetID == kInit_TraceIDRange) { // 8 byte를 읽는다. InPacket iPacket = new InPacket(); iPacket.ForcedEncode(pbPacket); long start = iPacket.DecodeLong(8); long end = iPacket.DecodeLong(8); _startOffset = start; _endOffset = end; this._bInit = true; return; } else { logger.Error("({0}) packet id가 존재하지 않는다.", packetID); } } } if (hts != null) { hts.HandleTossPacket(packetID, pbPacket); } }
Boolean UpdateRawData(String line, String code, String curTimeStringWithFormat) { //Check Header InPacket iPacket = new InPacket(); iPacket.ForcedEncode(line); RmdManager.BondPacketType type = RmdManager.Ins().BondSpot.EncodeHeaderAndGetHeaderType_Bond(ref iPacket); if (type == RmdManager.BondPacketType.Unknown) { return false; } switch (type) { case RmdManager.BondPacketType.Normal_Small: return UpdateBondNormalSmallData(ref iPacket, code, curTimeStringWithFormat); case RmdManager.BondPacketType.Retail: return UpdateBondRetailData(ref iPacket, code, curTimeStringWithFormat); default: break; } return true; }