HTTP/1.1 -1 Read error in cache disk data: SuccessContent-Type: text/tab-separated-values; charset="utf-8" Last-Modified: Sat, 22 Jan 2022 05:09:30 GMT Content-length: 1611 Connection: Close Proxy-Connection: Close X-Cache: HIT from web1.osuosl.org Server: ProxyTrack 0.5 (HTTrack 3.49.2) id summary reporter owner description type status priority milestone component version severity resolution keywords cc lang patch platform 778 Make FileHandle Subclassable whiteknight "There were some other related tickets (I can't find them now) about this, so sorry if I am duplicating anything. FileHandles are not current subclassable in PIR because they have ATTRs that are not usable from PIR (char*, PIOOFF_T, etc). In order for a PMC like FileHandle to be properly subclassable, every one of it's ATTRs must be an INTVAL, FLOATVAL, STRING* or PMC*. Otherwise, the subclass will throw an exception if we try to access an ATTR that is not one of these from the parent type. I want to make two changes to FileHandle (in addition to the cleanups I am working on in the io_cleanups branch right now) to make this possible: 1) Create a new IOBuffer PMC type to take care of buffering. FileHandle will then delegate it's buffering needs to a PMC of this type. The benefit here is that we can use this same buffering functionality from other IO PMC types (sockets, pipes, etc). 2) Convert the ATTRs file_pos and last_pos from type PIOOFF_T into type INTVAL. This may be a lossy transition but it's worth noting that almost every use of these two ATTRs, outside the IO API, are converted to INTVAL already. #2 of course is a little sketchy, so I would be happy to hear about alternate ideas to fix this issue. Shortly after getting these ATTRs fixed (if not immediately thereafter) we should be able to properly subclass FileHandles." RFC closed normal none 1.3.0 medium duplicate io oo pmc .end pmich